Показать полную графическую версию : Как отследить процесс завершения приложения
Нужно написать программу, которая бы отслеживала завершение какого-либо определенного процесса (диспетчер задач Windows). К примеру я поместил в процесс CMD.EXE, и при его завершении в программе должно выводиться сообщение. Как это сделать?
Prisoner
26-04-2004, 04:28
Поглядите в сторону SetWindowsHookEx (http://firststeps.narod.ru/winapi/hook/35.html) . WH_SHELL в вашем случае.
имхо немного не верно ...
WH_SHELL отслеживает уничтожение/создание окна (как и CBT)
а если процесс окно не создает??? тут нужно или по таймеру проверять сидит ли процесс в памяти, или писать драйвер... других вариантов не вижу ...
suxxl
Примерно такая прога: При нажатии на кнопку создается скрытый процесс (sw_hide), через несколько секунд, он сам закрывается, и при его закрытии нужно выводить сообщение в Label "Закрылась прога".
Добавлено:
Кстати пишу на Delphi 7
fossil
если вызываешь своей прогой процесс, то просто по коду возврата смотри, имхо
suxxl
А ты не мог бы какой-нибудь пример вставить... или ссылку на пример. А то до меня не совсем доходит...
Добавлено:
Ну вот к примеру даю команду
Winexec('cmd /ipconfig',sw_hide);
он сам закрывается через секунду. И мне нужно вывести сообщение в проге.
Допиши что еще нужно...
ShellExecute() смотри в МСДН
http://www.codeproject.com/threads/procmon.asp?df=100&forumid=3523&exp=0&select=771267
PsSetCreateProcessNotifyRoutine
Работает под NT.
suxxl
bgg0408
Thanks!! :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.