Заставить приложение ждать завершения WinExec - PullRequest
3 голосов
/ 13 февраля 2010

Как заставить мое приложение ждать завершения WinExec?

Ответы [ 3 ]

12 голосов
/ 13 февраля 2010

WinExec больше не рекомендуется. Вы можете использовать CreateProcess и WaitForSingleObject, как показано в этом примере при создании процессов.

2 голосов
/ 13 февраля 2010

Строго говоря, вы не можете. WinExec вернется как можно скорее (см. Раздел Замечания на странице WinExec MSDN ) и, в отличие от CreateProcess, даже не вернет дескриптор, который вы можете вызвать WaitForSingleObject вкл.

1 голос
/ 13 февраля 2010

WinExec существует только для совместимости с 16-битной Windows. Самый простой способ выполнить программу и подождать - это использовать system ():

#include <stdlib.h>

int main() {
    system( "notepad" );
    // only gets to here when the notepad instance is closed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...