如何在Windows中创建进程而不是等待它完成?

时间:2013-06-14 17:54:57

标签: windows winapi

我有一个小的Windows c ++程序,只是触发其他程序,但我发现当我杀死我的父程序时,所有的孩子都死了。我想把它们与它们产生关系,与父母无关。我不想等待输出,我甚至不关心它是否有效。但重要的是它不能与父进程联系起来,因为它可以随机消失。 关于这个问题,文档并不是非常明确。

这就是我所拥有的。

if (CreateProcess(NULL, s, NULL, NULL, TRUE, 0, NULL, NULL, &info, &processInfo))
  {
    // don't wait for it to finish.
    //::WaitForSingleObject(processInfo.hProcess, INFINITE);
    // free up resources...
    CloseHandle(processInfo.hProcess);
    CloseHandle(processInfo.hThread);
  }
else
  log error...

1 个答案:

答案 0 :(得分:4)

您只需在dwCreationFlags参数中传递CREATE_NEW_PROCESS_GROUP