В соответствии с MSDN , fMask
должен быть установлен на SEE_MASK_NOCLOSEPROCESS
, чтобы .hProcess
был установлен.Я хотел бы добавить тест, чтобы увидеть, если это NULL.В качестве примечания мне всегда везло с использованием CreateProcess
.
Редактировать:
Вот как вы делаете это с помощью CreateProcess:
PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
CreateProcess( NULL,
"C:\\Program Files\\Internet Explorer\\iexplore.exe http://www.google.com/",
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&si,
&pi );
Sleep(4000);
TerminateProcess(pi.hProcess, 0);
Вы должны добавить проверку ошибок и можете запросить путь к браузеру по умолчанию, используя: AssocQueryString
, например: AssocQueryString(0,ASSOCSTR_EXECUTABLE,"http","open", szExe, &cchExe);