Показать полную графическую версию : Нужна Функция ожидания конца процесса.
Существует ли такая функция Win32 API, которая ставит родительский процесс на паузу, до тех пор пока дочерний не завершиться? Спасибо!
Petya V4sechkin
24-06-2008, 13:57
WaitForSingleObject (http://msdn.microsoft.com/en-us/library/ms687032.aspx)
Насколько я понимаю это для работы с потоками, а мне нужно именно с процессом. Ведь поток это всего лишь некая часть процесса!?
Petya V4sechkin
24-06-2008, 16:13
Насколько я понимаю
Не-а.
Типичный пример: запускаем программу с помощью функции CreateProcess (http://msdn.microsoft.com/en-us/library/ms682425.aspx), в ней последний параметр - указатель на структуру PROCESS_INFORMATION (http://msdn.microsoft.com/en-us/library/ms684873(VS.85).aspx), туда заносится информация о запущенном процессе (заносится самой функцией CreateProcess, то есть это возвращаемый параметр). В частности, хэндл процесса hProcess, который можно передать WaitForSingleObject.
Примеры (http://www.codeproject.com/KB/system/newbiespawn.aspx)
А теперь понятно! Все отлично. Спасибо большое. Только вот что еще: род. процесс, грубо говоря программ которая ждет завершение созданного процесса, как то странно себя ведет во время ожидания, а ведет она себя так как будто зависла... можно ли это исправить? Просто нужно чтобы во время ожидания в окне программы все отображалось нормально))
st031, можно припаять таймер и/или пробивать состояние приложения по его PID.
http://www.gotdotnet.ru/Forums/Common/27652.aspx
http://forum.ru-board.com/topic.cgi?forum=33&topic=2369
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.