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

{Эта небольшая функция закрывает приложения, соответствующие заданному имени .exe.
 Пример: KillTask('notepad.exe');
  KillTask('iexplore.exe'); }

uses
 Tlhelp32, Windows, SysUtils;
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 := Process32(FSnapshotHandle,
  FProcessEntry32);
 end;
 CloseHandle(FSnapshotHandle);
end;

Взято из http://forum.sources.ru

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...