首页 > 解决方案 > 在 ProcessExit 处理程序中检索退出代码?

问题描述

我正在编写一个调用大量库的小C++/CLI应用程序。其中一些里面至少有一个exit(xyz),我通过处理来抓住它AppDomain.ProcessExit()。工作正常。由于调用exit(...)已经完成,我想检索传递给此函数的退出代码。

我的问题是,在进程完全退出之前退出代码似乎不可用,当然,在我的处理程序中,进程没有“完全”终止/退出。例如,我试过:

int ec = System::Diagnostics::Process:GetCurrentProcess()->ExitCode;

但我有一个例外。此外,API Win32 似乎GetExitCodeProcess()会返回一个 STILL_ACTIVE 错误???我希望这个值在某处注册/可访问?

任何想法?我在 Win 7 和 Win 10 上运行。在此先感谢您的帮助。

标签: c++-cliexit-code

解决方案


我之前使用批处理文件完成了此操作。

我创建了一个名为 runprogram.cmd 的文件(如果需要,您可以创建自己的名称)并将以下内容放入其中:-

@echo 关闭

“程序名.exe”

回显%错误级别%

@echo on

暂停

将 programname.exe 替换为您的 exe 名称。

双击文件运行它。


推荐阅读