首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CreateProcess()不能正常工作

CreateProcess()不能正常工作
EN

Stack Overflow用户
提问于 2011-11-03 01:08:43
回答 2查看 2.3K关注 0票数 0

我正在使用这段代码来启动我的程序

代码语言:javascript
复制
     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时,它可以正常工作。

EN

回答 2

Stack Overflow用户

发布于 2011-11-03 03:05:57

您必须将STARTUPINFO和PROCESS_INFORMATION的内存清零,并且必须设置STARTUPINFO结构的cb字段。

复制sample code in the Microsoft documentation是一个很好的起点。

票数 5
EN

Stack Overflow用户

发布于 2011-11-03 22:54:45

我发现问题是我没有为test.exe设置目录(CreateProcess中的第8个参数)。感谢所有人

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7984428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档