Zde je moje (ne)funkční procedura:
- Kód: Vybrat vše
procedure KillProcess(pExeName: string);
var proc: PROCESSENTRY32;
Loop: Bool;
hSnap: HWND;
ProcessId, ProcessHandle: THandle;
begin
ProcessId := 0;
proc.dwSize := SizeOf(Proc);
hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);
Loop := Process32First(hSnap,proc);
while Integer(Loop) <> 0 do
begin
if UpperCase(pExeName) = UpperCase(ExtractFileName(proc.szExeFile)) then
ProcessId := proc.th32ProcessID;
Loop := Process32Next(hSnap,proc);
end;
CloseHandle(hSnap);
if ProcessId > 0 then
begin
ProcessHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION,
False, ProcessId);
if ProcessHandle > 0 then
begin
TerminateProcess(ProcessHandle, 0);
CloseHandle(ProcessHandle);
end;
end;
end;