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

Вниз

Контрольт внешнего процесса   Найти похожие ветки 

 
Vasily_ ©   (2003-03-17 22:59) [0]

Правильно ли я понял, что для того, чтобы проконтролировать завершение внешнего процесса, необходимо запустить его со своего приложения в виде отдельного потока? И это необходимое условие?

Мне необходимо решить следующую задачу:
1. Запустить один Setup.exe.
2. Дождавшись его окончания запустить второй Setup.exe

Первое утверждение позволит решить мне эту задачу?


 
Guerrillero ©   (2003-03-18 00:33) [1]

в виде отдельного потока? нет
CreateProcess
WaitForSingleObject
CloseHandle


 
Юрий Зотов ©   (2003-03-19 00:47) [2]

Это НЕ необходимое условие, можете запускать и из основного потока. Но чтобы дождаться его завершения, придется вызвать WaitForSingleObject - а в этот момент вызвавший поток "уснет" и перестанет реагировать на сообщения системы. Если это главный поток GUI-приложения, то это плохо - перестанут перерисовываться окна, не будет реакции на клавиши и мышь, остановятся таймеры и т.п. То есть, до завершения запущенного процесса программа как бы "зависнет".

Выходов два - либо использовать второй поток (пусть ОН стоит и ждет, а основной продолжает работать), либо вместо WaitForSingleObject вызывать MsgWaitForMultipleObjects (в цикле, пока не вернет WAIT_OBJECT_0).



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-100414
Navigator3000
2003-03-14 10:20
2003.03.31
Загрузка и восстановление? (Начинающий)


1-100238
raiv
2003-03-18 15:45
2003.03.31
Delphi собирает exe файлы не подключая библиотеки!


3-100152
MsGuns
2003-03-12 13:16
2003.03.31
Триггер заклинило


1-100286
IrviS
2003-03-19 12:52
2003.03.31
Объединение ячеек в Excel


3-100166
just_1869
2003-03-11 02:22
2003.03.31
Ошибка соединения через DataSnap с MS SQL 2000