MFC應用程序乾淨地關閉自身的正確方法是什麼?MFC應用程序如何自行終止?
10
A
回答
10
編程方式終止MFC應用程序
void ExitMFCApp()
{
// same as double-clicking on main window close box
ASSERT(AfxGetMainWnd() != NULL);
AfxGetMainWnd()->SendMessage(WM_CLOSE);
}
12
AfxGetMainWnd()->PostMessage(WM_CLOSE);
4
支持@ Mike的回答,使用此方法的原因是要觸發正確的關閉順序。對於MDI/SDI應用程序尤其重要,因爲它可以讓文檔在退出之前提示保存或取消退出。
@馬特野口,你的方法繞過這個序列(這可能是預期的效果,我想,但你可能已經有了問題如果你短路正常拆解。
4
PostQuitMessage([exit code]);
1
如果它是一個基於對話框的應用程序,您可以通過調用的EndDialog()函數做到這一點。
如果它是一個SDI/MDI基於應用程序可以調用DestroyWindow。但在此之前,你需要做自己的清理(關閉文檔,釋放內存和資源,破壞所有額外的窗口創建等)。
相關問題
- 1. MFC - 終止處理程序
- 2. MFC應用程序終止時運行自定義代碼:d'tor或WM_CLOSE?
- 3. MFC應用程序掛起線程發信號通知終止
- 4. 如何從命令行獲取MFC應用程序以阻止?
- 5. 如何從AlertDialog終止應用程序?
- 6. 終止運行Python應用程序
- 7. 應用程序執行終止
- 8. 應用程序不終止
- 9. 終止應用程序
- 10. EnterpriseLibrary.Logging終止應用程序
- 11. 應用程序終止
- 12. 如何關閉自動終止掛起的應用程序
- 13. Android從終端終止應用程序
- 14. 如何防止殺死/終止或停止Windows應用程序
- 15. 如何阻止MFC應用程序在啓動時調用OnFileNew()?
- 16. 如何在終止後運行swift代碼應用程序
- 17. 如何在終止時運行快速應用程序?
- 18. 如何防止並行線程中的異常終止應用程序?
- 19. 當應用程序終止時,每運行10分鐘運行代碼終止
- 20. 如何禁止在寫入文件時終止應用程序
- 21. 如何發送終止信號來停止Rails應用程序?
- 22. 如何停止應用程序的終止
- 23. 線程應用程序意外終止
- 24. 如何顯示在MFC應用程序
- 25. 如何啓動C++ mfc應用程序
- 26. Spark應用程序終止執行程序
- 27. 使用java執行和終止任何OSX應用程序
- 28. 如何確保iOS應用程序終止後本地通知* *應用程序終止後
- 29. 如何在Ubuntu的終端中自動運行應用程序?
- 30. MFC中的工作線程終止
任何C#的等效代碼? – 2015-07-21 03:30:23