Delphi-Help

Главная Статьи Windows Как убить задачу, зная только имя EXE-файла?

Как убить задачу, зная только имя EXE-файла?

Оцените материал
(0 голосов)


Как убить задачу, зная только имя 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;
Прочитано 3896 раз

Авторизация



Счетчики