如何在MFC应用程序退出时设置错误级别

How To Set Errorlevel On Exit of MFC App

本文关键字:设置 错误 退出 MFC 应用程序      更新时间:2023-10-16

我有一个MFC遗留应用程序,我帮助维护它。我不太确定如何识别MFC的版本,我认为它无论如何都不会有什么不同。

该应用程序可以在命令行中获取一些参数;我希望能够在退出应用程序时设置错误级别,以允许bat/cmd文件检查故障并做出适当响应。

我不相信exit()会起作用(老实说,我还没有尝试过),因为这是一个MFC应用程序。有人知道如何设置MFC应用程序返回的错误级别吗?我可以使用exit()吗?

我不能为此承担责任,所以请不要理会这个回复。

CWinApp::ExitInstance();return myExitCode;

这将把错误级别返回给调用的批处理文件,以便您进行评估并采取行动。

如果您的应用程序拒绝在DOS shell中更新ERRORLEVEL,无论您在程序代码中做了什么,都可以通过"启动/等待"来运行应用程序,从而锁定shell直到程序结束。

这里列出了几个解决方案,我无法评论哪一个更好,但我相信其中至少有一个会让你达到目的。

我总是成功地从CWinApp::ExitInstance返回错误代码。我相信,默认实现将返回退出消息中的值。因此,如果更容易的话,您可以使用AfxPostQuitMessage。但我还没有亲自测试过第二种方法。