Функцию GetExitCodeProcess нужно вызывать до, или после CloseHandle?
if (CreateProcess(L"C:\\Windows\\System32\\schtasks.exe", ptr, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
DWORD lp;
if (GetExitCodeProcess(pi.hProcess, (&lp)))
qDebug() << parseError(&lp);
else
qDebug() << "ошибка EXITA";
CloseHandle(pi.hProcess);
CloseHandle(&si);
}
else
qDebug() << GetLastError();
Ответ
После CloseHandle хэндл становится невалидным и с ним уже никакую функцию вызывать не надо.
Комментариев нет:
Отправить комментарий