المشاركات : 111
المواضيع 41
:
: 29
الإنتساب : Apr 2011
19-04-2017, 03:16 PM
(آخر تعديل لهذه المشاركة: 20-04-2017, 08:46 AM بواسطة Admin.)
السلام عليكم
بحثت عن سورس لغلق برنامج ما في GETIONNAIRE DES TACHES فوجت هذا:
كود :
procedure TForm1.Button1Click(Sender: TObject);
var
MyHandle: THandle;
begin
MyHandle:=FindWindow(nil, 'Delphi Help');
SendMessage(MyHandle, WM_CLOSE, 0, 0);
end;
ولاكن لا يعمل
المشاركات : 654
المواضيع 34
:
: 106
الإنتساب : Aug 2010
وعليكم السلام
الكود يعمل بشكل جيد
إنتبه "Delphi Help" هي Caption الخاصة بالنموذج الرئيسي..
أيضا للإستزادة يمكنك إستعمال الدالة TerminateProcess كبديل.
سبحان الله وبحمده سبحان الله العظيم
كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة1 user says Thank You to Agmcz for this post
• mohamed49
المشاركات : 111
المواضيع 41
:
: 29
الإنتساب : Apr 2011
المشاركات : 654
المواضيع 34
:
: 106
الإنتساب : Aug 2010
20-04-2017, 04:33 PM
(آخر تعديل لهذه المشاركة: 20-04-2017, 04:33 PM بواسطة Agmcz.)
هكذا
PHP كود :
uses
Tlhelp32;
function ProcessIDFromAppname32(appname: string): DWORD;
var
snapshot: THandle;
processEntry: TProcessEntry32;
begin
Result := 0;
appName := UpperCase(appname);
snapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if snapshot <> 0 then
try
processEntry.dwSize := Sizeof(processEntry);
if Process32First(snapshot, processEntry) then
repeat
if Pos(appname,
UpperCase(ExtractFilename(
StrPas(processEntry.szExeFile)))) > 0 then
begin
Result := processEntry.th32ProcessID;
Break;
end;
until not Process32Next(snapshot, processEntry);
finally
CloseHandle(snapshot);
end;
end;
// Usage:
var
hProcess: THandle;
PID: DWORD;
begin
PID := ProcessIDFromAppname32('target.exe');
hProcess := OpenProcess(PROCESS_TERMINATE, False, PID);
TerminateProcess(hProcess, 0);
end;
مبدئيا هذا يلبي طلبك.
مع مرعات أن هذا الكود يقوم بغلق أول Process
مبدئيا هذا يلبي طلبك.
مع مرعات أن هذا الكود يقوم بغلق أول Process.
سبحان الله وبحمده سبحان الله العظيم
المشاركات : 111
المواضيع 41
:
: 29
الإنتساب : Apr 2011
الله يحفظك,,,,,,,,,,,,,,,,,,,,, رائع
المشاركات : 654
المواضيع 82
:
: 57
الإنتساب : Mar 2011
16-05-2017, 06:49 AM
(آخر تعديل لهذه المشاركة: 16-05-2017, 06:50 AM بواسطة onexite.)
PHP كود :
uses
Tlhelp32;
function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;
KillTask('notepad++.exe');