当进程不再存在时,GetExitCodeProcess如何获取退出代码

时间:2012-10-31 20:36:07

标签: winapi return-code openprocess

我首先使用OpenProcess处理进程。 然后我在循环中调用GetExitCodeProcess以查看进程是否正在运行。 但GetExitCodeProcess如何获得退出代码? Windows是否存储过去30分钟内运行的所有进程的退出代码? 一旦应用程序退出,有关该过程的任何信息都将从Windows中消失。 我不知道GetExitCodeProcess如何获得不再存在的东西的退出代码......

2 个答案:

答案 0 :(得分:4)

退出代码保存在进程对象中,在最后一个句柄关闭时会被销毁。所以,在你真的完成之前不要关闭那个句柄!

答案 1 :(得分:1)

我认为Windows会保留进程退出代码,直到该进程的所有句柄都已关闭。 OpenProcess文档说:

  

此函数返回现有流程对象的句柄。完成手柄后,使用CloseHandle功能将其关闭。