MFC应用程序如何终止自身?

时间:2008-08-18 12:04:06

标签: c++ visual-c++ mfc

MFC应用程序干净利落的正确方法是什么?

5 个答案:

答案 0 :(得分:13)

AfxGetMainWnd()->PostMessage(WM_CLOSE);

答案 1 :(得分:10)

以编程方式终止MFC应用程序

 void ExitMFCApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetMainWnd() != NULL);
        AfxGetMainWnd()->SendMessage(WM_CLOSE);
   }

http://support.microsoft.com/kb/117320

答案 2 :(得分:4)

为了支持@Mike的回答,使用此方法的原因是触发正确的关闭序列。对于MDI / SDI应用程序尤为重要,因为它可以让文档在退出前提示保存或取消退出。

@Matt Noguchi,你的方法将规避这个序列(我想这可能是期望的效果,但如果你正常的拆解,你可能会遇到问题。< / p>

答案 3 :(得分:4)

PostQuitMessage( [exit code] );

答案 4 :(得分:1)

如果是基于对话框的应用程序,可以通过调用EndDialog()函数来完成。

如果它是基于SDI / MDI的应用程序,您可以调用DestroyWindow。但在此之前,您需要自己进行清理(关闭文档,释放内存和资源,销毁任何其他创建的窗口等)。