Телефон: +7 (926) 245-03-63

Как убить задачу, зная только имя .exe?

Эта небольшая функция закрывает приложения, соответствующие заданному имени .exe.
Пример:

KillTask('notepad.exe');

KillTask('iexplore.exe');

uses Tlhelp32, Windows, SysUtils;
function KillTask(Exename_: 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(Extractname_(FProcessEntry32.szExeFile)) =
 UpperCase(Exename_))
 or (UpperCase(FProcessEntry32.szExeFile) =
 UpperCase(Exename_))) then
 Result := Integer(TerminateProcess(OpenProcess(
 PROCESS_TERMINATE, BOOL(0),
 FProcessEntry32.th32ProcessID), 0));
 ContinueLoop := Process32Next(FSnapshotHandle,
 FProcessEntry32);
 end;
 
 CloseHandle(FSnapshotHandle);
end;
Интересное в интернете: Быстрая и недорогая регистрация ООО.