CreateProcess 的正确关闭

最近用到了 CreateProcess 现在对CreateProcess 退出的处理做一些说明。

BOOL ret = CreateProcess(NULL,cCmdLine,NULL,NULL,FALSE,0,NULL,NULL,&startInfo,&procInfo);

    if (ret)
    {
        // 1 如果不需要使用的话,首先关闭Process主线程句柄。
        CloseHandle(procInfo.hThread);
        // 2 等待进程执行完毕,可将此过程放到辅助线程中执行,防止阻塞主线程。
        WaitForSingleObject(procInfo.hProcess,INFINITE);
        // 3 取得进程退出代码,可以用来判断进程的执行情况。
        GetExitCodeProcess(procInfo.hProcess,&dwExitCode);
        // 4 关闭进程句柄。
        CloseHandle(procInfo.hProcess);

    }


如有不当之处,欢迎大家指出。

你可能感兴趣的:(C++,MFC)