MFC应用程序干净利落的正确方法是什么?
答案 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);
}
答案 2 :(得分:4)
为了支持@Mike的回答,使用此方法的原因是触发正确的关闭序列。对于MDI / SDI应用程序尤为重要,因为它可以让文档在退出前提示保存或取消退出。
@Matt Noguchi,你的方法将规避这个序列(我想这可能是期望的效果,但如果你正常的拆解,你可能会遇到问题。< / p>
答案 3 :(得分:4)
PostQuitMessage( [exit code] );
答案 4 :(得分:1)
如果是基于对话框的应用程序,可以通过调用EndDialog()函数来完成。
如果它是基于SDI / MDI的应用程序,您可以调用DestroyWindow。但在此之前,您需要自己进行清理(关闭文档,释放内存和资源,销毁任何其他创建的窗口等)。