2008-11-06 63 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被鎖定直到你的程序結束。

相關問題