我有一个MFC遗留应用程序,我帮助维护。我不太确定如何识别MFC的版本,我认为它无论如何都不会有所作为。
该应用程序可以在命令行中获取一些参数;我希望能够在退出应用程序时设置错误级别,以允许bat / cmd文件检查失败并做出适当的响应。
我不相信exit()会起作用(原来还没有尝试过),因为这是一个MFC应用程序。任何人都知道如何设置MFC应用程序返回的错误级别?我可以使用exit()吗?
答案 0 :(得分:6)
我不能因此而受到赞扬,所以请不要回复。
的CWinApp :: ExitInstance中(); return myExitCode;
这会将errorlevel返回给调用批处理文件,然后进行评估并采取行动。
答案 1 :(得分:2)
如果您的应用程序拒绝更新DOS shell中的ERRORLEVEL,则无论您在程序代码中执行什么操作,都可以运行它,这可能有助于以“start / wait”运行您的应用程序,以便shell被锁定,直到你的课程结束了。
答案 2 :(得分:1)
列出了几个解决方案here我无法评论哪个更好,但我相信其中至少有一个会让你到那里。
答案 3 :(得分:1)
我总是成功从CWinApp :: ExitInstance返回错误代码。我相信,默认实现将从退出消息返回值。因此,如果更容易,您可以使用AfxPostQuitMessage。但我没有亲自测试第二种方法。