如何在MFC应用程序退出时设置Errorlevel

时间:2008-11-06 15:16:46

标签: c++ windows mfc batch-file cmd

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

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

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

4 个答案:

答案 0 :(得分:6)

我不能因此而受到赞扬,所以请不要回复。

的CWinApp :: ExitInstance中(); return myExitCode;

这会将errorlevel返回给调用批处理文件,然后进行评估并采取行动。

答案 1 :(得分:2)

如果您的应用程序拒绝更新DOS shell中的ERRORLEVEL,则无论您在程序代码中执行什么操作,都可以运行它,这可能有助于以“start / wait”运行您的应用程序,以便shell被锁定,直到你的课程结束了。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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