Как Убить Задачу, Зная Только Имя Exe-файла?

  • Автор темы Автор темы Sascha
  • Дата начала Дата начала

Sascha

Команда форума
Администратор
Ofline
Как убить задачу, зная только имя EXE-файла?
Код:
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;
procedure TForm1.Button1Click(Sender: TObject);
begin
   KillTask( 'calc.exe' );
end;
 
Назад
Сверху Снизу