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

时间:2020-03-05 18:40:21  来源:igfitidea点击:

MFC应用程序完全关闭自身的正确方法是什么?

解决方案

回答

AfxGetMainWnd()->PostMessage(WM_CLOSE);

回答

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

@Matt Noguchi,方法将绕过此序列(我想这可能是理想的效果,但是如果我们使正常的拆解短路,我们可能会遇到问题。

回答

PostQuitMessage( [exit code] );

回答

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

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