【问题标题】:Retrieving exit code in ProcessExit handler?在 ProcessExit 处理程序中检索退出代码?
【发布时间】:2019-02-20 16:20:35
【问题描述】:

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

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

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

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

有什么想法吗?我在 Win 7 和 Win 10 上运行。在此先感谢您的帮助。

【问题讨论】:

    标签: c++-cli exit-code


    【解决方案1】:

    我以前使用批处理文件完成过此操作。

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

    @echo 关闭

    “程序名.exe”

    回显 %errorlevel%

    @echo on

    暂停

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

    双击文件运行。

    【讨论】:

      【解决方案2】:
      System::Environment::ExitCode;
      

      Process, AppDomain, Environment...我错过了这个!我希望我的问题/答案有一天能对某人有所帮助!

      【讨论】:

        猜你喜欢
        • 2012-10-28
        • 2016-11-16
        • 1970-01-01
        • 1970-01-01
        • 2013-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        相关资源
        最近更新 更多