我使用此代码启动我的程序CreateProcess()无法正常工作
int _tmain(int argc, _TCHAR* argv[])
{
STARTUPINFO cif;
ZeroMemory(&cif,sizeof(STARTUPINFO));
PROCESS_INFORMATION pi;
if (CreateProcess(L"C:\\test\\test.exe",NULL,
NULL,NULL,FALSE,CREATE_UNICODE_ENVIRONMENT,NULL,NULL,&cif,&pi)==TRUE)
{
cout << "process" << endl;
cout << "handle " << pi.hProcess << endl;
}
system("pause");
return 0;
}
程序正常启动,但立即失败(没有响应并失败)。 CreateProcess返回true。当我从代码启动test.exe时,它可以正常工作。
调试器告诉你什么是错误的?你*是*使用调试器,不是吗? –
哪个程序崩溃,正在启动新进程的代码或test.exe? –
如果您将进程创建标志(而不是CREATE_UNICODE_ENVIRONMENT)传递给“0”,会发生什么情况?您将'CREATE_UNICODE_ENVIRONMENT'作为此标志和'NULL'传递给环境块,但是您确定调用进程的环境块使用'UNICODE'字符吗? –