MFC 应用程序干净地关闭自身的正确方法是什么?
Mike
问问题
13295 次
5 回答
14
AfxGetMainWnd()->PostMessage(WM_CLOSE);
于 2008-08-18T12:04:20.240 回答
11
以编程方式终止 MFC 应用程序
void ExitMFCApp()
{
// same as double-clicking on main window close box
ASSERT(AfxGetMainWnd() != NULL);
AfxGetMainWnd()->SendMessage(WM_CLOSE);
}
于 2012-01-07T10:23:40.803 回答
4
为了支持@Mike的回答,使用这种方法的原因是为了触发正确的关机顺序。对于 MDI/SDI 应用程序尤其重要,因为它使文档有机会在退出前提示保存或取消退出。
@Matt Noguchi,您的方法将绕过这个序列(我想这可能是预期的效果,但如果您将正常的拆解短路,您可能会遇到问题。
于 2008-08-18T14:11:43.260 回答
4
PostQuitMessage( [exit code] );
于 2008-08-18T16:08:33.167 回答
1
如果它是基于对话框的应用程序,您可以通过调用 EndDialog() 函数来完成。
如果它是基于 SDI/MDI 的应用程序,您可以调用 DestroyWindow。但在此之前,您需要自己进行清理(关闭文档、释放内存和资源、销毁创建的任何其他窗口等)。
于 2008-09-18T10:23:26.777 回答