Почему этот код заканчивается сразу после запуска? Я думаю, что он должен ждать 10 секунд для тернации?Почему этот код не дожидается до окончания?
#include<windows.h>
#include<stdio.h>
int main(){
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
CreateProcess("child.exe", NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
WaitForSingleObject(pi.hProcess, 10000);
TerminateProcess(pi.hProcess, 0);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
Как долго 'child.exe' работает для? – lcs
Второй параметр 'WaitForSingleObject' - это только время ожидания. Он немедленно возвращается, как только он получает результат, успех или неудачу. – sp2danny
Всегда проверяйте результат выполнения функций. – alk