Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Убить чужой процесс

Страницы: 1
Убить чужой процесс
Как средствами дельфи можно уничтожить процесс другой программы?
Функцией TerminateProcess(), только учтите, что это асинхронная функция, так что когда она вернет управление вашей программе, процесс еще может быть и не уничтожен. Так же следует учесть, что это "аварийная" функция и все данные процесса будут потеряны. Полноценное "убийство", лол.
Можно командой API. Kill, там в ней пердается процесс и команда kill. Короче я это неочень хорошо знаю. Но много об этом написано книг.
код Pascal/Delphi:


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;
Cyber
Интересно другое,как бы сделать програмку которая следит за приложением в моё отсутствие,узнаёт зависший процесс и убивает его(то есть чтобы не перебирать все процессы в ручную) smile:)
Cyber
Тоже хотел бы знать как можно узнать зависший процесс.
Accende lumen sensibus, infude ainorem corbidus!
Если это оконное приложение то можно отправить ему сообщение и посмотреть ответит оно или нет.
Правильно, как же я сам об этом не подумал. Спасибо.
Accende lumen sensibus, infude ainorem corbidus!
Не за что. Кстати если нужно только найти такое окно, то думаю можно искать текст в заголовке "не отвечает".
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)