Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

Как отследить существует ли дочерний процесс в системе?   Найти похожие ветки 

 
Starkom   (2002-06-07 12:36) [0]

Я пишу нечто типа дебаггера - при нажатии кнопки Run происходит некая инициализация, затем запускается дочерний процесс. Причем, сам дебаггер должен работать, как обычно. Как мне отследить в какой момент закроется дочерний процесс, чтобы произвести деинициализацию (есть вариант через какой-то промежуток времени через Process32First, Process32Next проверять есть ли он в системе, но это геморрой и все будет тормозить)


 
Внук   (2002-06-07 12:42) [1]

Создавайте дочерний процесс с помощью CreateProcess с флагом DEBUG_PROCESS. Тогда вызывающий поток будет уведомляться о событиях в дочернем процессе, в том числе и о завершении главного потока созданного процесса.


 
StAL   (2002-06-11 19:21) [2]

Все проще!
var
pi: TProcessInformation;
hp: Thandle;
...............
CreateProcess(..pi.);
hp:=OpenProcess(PROCESS_ALL_ACCESS, False, pi.dwProcessID);
if GetExitCodeProcess(hp) <> STILL_ACTIVE then
ShowMessage("Process terminated");


 
Внук   (2002-06-13 09:26) [3]

>>StAL © (11.06.02 19:21)
Все не так просто :) Дело в том, что в моем способе дочерний процесс САМ уведомляет родителя о своей смерти, тогда как в Вашем родитель должен за этим следить :(
Действительно, есть несколько альтернативных способов, но я о них не буду ...



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

Форум: "WinAPI";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.006 c
1-60574
alexsandri
2002-08-07 18:10
2002.08.19
не опходимо перехватить событие закрытия окна идля закрытия запр


1-60553
SinnerPro
2002-08-06 02:32
2002.08.19
Глюка с ListView


14-60843
MJH
2002-07-23 19:23
2002.08.19
FreeSoft


3-60481
Naik
2002-07-29 06:37
2002.08.19
Ищу замену TTable


14-60810
Dimich1978
2002-07-23 14:59
2002.08.19
Траффик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский