Текущий архив: 2002.10.14;
Скачать: CL | DM;
Вниз
Убить прогу Найти похожие ветки
← →
R_D (2002-08-23 12:46) [0]Как завершить работу чужой программы, тоже но если она висит.
Вообшем как по Ctrl+Alt+Del
← →
Viktor Kushnir (2002-08-23 16:42) [1]Можно так, если HWND процесса знаешь.
procedure Kill(hndl: HWND);
begin
Hndl := OpenProcess(PROCESS_TERMINATE, FALSE, Hndl);
if Hndl <> null
then begin
TerminateProcess(Hndl, 0);
CloseHandle(Hndl);
end
end;
← →
Almaz (2002-08-24 00:29) [2]
> Viktor Kushnir © (23.08.02 16:42)
> Можно так, если HWND процесса знаешь.
HWND - это handle окна, а если это так, то ваш код не сработает, т.к. OpenProcess должен получать не ссылку, а идентификатор и не окна, а процесса. Который, впрочем, можно получить, зная handle окна используя функцию GetWindowProcessID.
> R_D (23.08.02 12:46)
> Как завершить работу чужой программы, тоже но если она висит.
> Вообшем как по Ctrl+Alt+Del
Если хотите именно "как по Ctrl+Alt+Del", то лучше использовать функцию EndTask - именно ей пользуется Task Manager.
Удачи.
← →
s.kaster (2002-08-26 20:31) [3]PostMessage(FindWindow(Nil, PChar(точное имя программы)), WM_CLOSE, 0, 0);
← →
Song (2002-08-26 21:32) [4]2s.kaster © (26.08.02 20:31)
ЕСЛИ ОНА ВИСИТ!!! Как программа может обрабатывать сообщения, если она висит ;-)))
← →
Mike_Z (2002-08-29 13:41) [5]Вариант с TerminateProcess виснет 50 на 50.
EndTask есть в Kernel & User.dll, но описание его где взять и под все ли Win он работает?
Страницы: 1 вся ветка
Текущий архив: 2002.10.14;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c