Показать сообщение отдельно
  #2  
Старый 22.05.2013, 21:10
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
{Эта небольшая функция закрывает приложения, соответствующие заданному имени .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 := Process32Next(FSnapshotHandle, 
                                 FProcessEntry32); 
end; 
CloseHandle(FSnapshotHandle); 
end;
Ответить с цитированием