
24.04.2009, 11:03
|
 |
Прохожий
|
|
Регистрация: 25.02.2009
Сообщения: 18
Версия Delphi: Delphi 7
Репутация: 10
|
|
Держи!
Код:
// Не забудь поставить модуль в
implementation
uses TLhelp32;
// Функция KillTask
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;
//Вот твой код
WinExec('D:\program files\winrar\rar.exe a -f -hp[123] D:\\123.rar
D:\\myfilename.txt',0);
KillTask('rar.exe'); // А вот так убиваем процесс
|