gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 04:03:52 25 4
gpt4 key购买 nike

我在 Linux 上使用 on_exit(),该函数获取退出代码作为参数。我想在 Windows 上实现相同的功能,但没有提供此功能的 API。

我的想法是调用 GetExitCodeProcess(GetCurrentProcess(), &exitcode),但它给了我 STILL_ACTIVE (259)

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

最佳答案

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

关于c++ - atexit() 处理程序中的 Windows 获取由::exit() 设置的当前进程退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59067887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com