4

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

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

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

4

4 回答 4

7

我不能对此表示赞赏,所以请不要回复。

CWinApp::ExitInstance(); 返回我的退出代码;

这会将错误级别返回给调用批处理文件,供您评估并采取行动。

于 2008-11-06T15:21:02.127 回答
2

如果您的应用程序拒绝在您运行它的 DOS shell 中更新 ERRORLEVEL,无论您在程序代码中做什么,使用“start /wait”运行您的应用程序可能会有所帮助,以便 shell 被锁定直到您的程序结束.

于 2009-01-16T16:50:02.973 回答
1

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

于 2008-11-06T15:18:57.153 回答
1

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

于 2008-11-06T18:19:02.890 回答