Windows在atexit()处理程序中获取:: exit()设置的当前进程退出代码

时间:2019-11-27 10:19:24

标签: c++ windows winapi visual-c++

我在Linux上使用var data = { people: [ Katz", Johnson", Jolley"], color:['blue','red','green'], myClass:['first',second,'third'] } <div class="people_list"> {{#each data}} <div>{{people}} {{#each color}} <div class='{{ProblemHereMyClass}}'>{{this}}</div> {{/each}} </div> {{/each}} </div> ,该函数获取退出代码作为参数。我想在Windows上实现相同的功能,并且没有提供此功能的API。

我的想法是打电话给on_exit(),但它给了我GetExitCodeProcess(GetCurrentProcess(), &exitcode)

在文档(https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-exitprocess)中指出,最后一件事发生在退出期间,实际退出代码替换了STILL_ACTIVE (259)。 我可以以某种方式获取真实的退出代码吗?我知道调用STILL_ACTIVE是因为正在运行的功能是由::exit()注册的。

1 个答案:

答案 0 :(得分:1)

获取退出代码的最简单方法是另一个保护进程。 如果不是这种选择,则可以挂钩ExitProcess函数并从中获取退出代码。