CreateProcess 的正确关闭

本文详细介绍了如何使用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);

    }


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值