2008-11-06 64 views
3

我有一个MFC遗留应用程序,我帮助维护。我不太清楚如何识别MFC的版本,我不认为它会有所作为。如何在MFC应用程序退出时设置Errorlevel

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

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

回答

5

我不能赞扬这个,所以请不要这个答复。

CWinApp :: ExitInstance(); return myExitCode;

这会将错误级别返回给调用批处理文件,然后进行评估和处理。

+0

为什么我不投你的回复?这是一个有用的答案。没有必要如此无私。 :-) – 2008-11-06 15:50:41

1

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

+0

谢谢。这就是我一直在寻找的。 – 2008-11-06 15:20:41

1

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

2

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

相关问题