Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

Как завершить чужую программу   Найти похожие ветки 

 
Костик   (2004-06-08 10:16) [0]

Как завершить чужую? Знал, но забыл.
Спасибо


 
Mim1 ©   (2004-06-08 10:20) [1]

terminateprocess, wm_quit, wm_syscommand+sc_close, postquitmessage и т.д.


 
Prog's Killer   (2004-06-08 10:42) [2]

function killtheprog(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;

Использование: killtheprog(notepad.exe) // прямо без пути


 
Prog's Killer   (2004-06-08 10:43) [3]

Ах да - uses Tlhelp32


 
Bar   (2004-06-08 10:44) [4]

Данная функция позволяет завершить выполнение любой активной программы по её classname или заголовку окна.

procedure KillProgram(ClassName: PChar; WindowTitle: PChar), const PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(Classname, WindowTitle);
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;



Страницы: 1 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
3-1087771512
dim-
2004-06-21 02:45
2004.07.18
Текущая запись при раcкраске dbgrida


3-1088182867
zokzok
2004-06-25 21:01
2004.07.18
ttable vs tquery


14-1088197597
Anatoly Podgoretsky
2004-06-26 01:06
2004.07.18
Веселая сегодня пятница


3-1088274833
Karburator
2004-06-26 22:33
2004.07.18
Как подтвердить транзакцию в процедуре?


1-1088683954
Plt
2004-07-01 16:12
2004.07.18
Выполнение запроса с помощью TOracleQuery (DOA) в потоке.