一、方法一:通过找到主窗口的句柄,然后向主窗口发送消息
//该函数用来实现对软件系统的退出 void CMainFrame::OnExitSystem() { // TODO: Add your command handler code here if (MessageBox("确定退出系统吗?","提示",MB_YESNO | MB_DEFBUTTON2) == IDYES) { //获取当前主窗口的句柄,向主窗口发送WM_CLOSE消息 ::PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_CLOSE,0,0); } }方法二:直接获执行前窗口的OnClose()函数,实现系统的关闭
//该函数用来实现对软件系统的退出 void CMainFrame::OnExitSystem() { // TODO: Add your command handler code here if (MessageBox("确定退出系统吗?","提示",MB_YESNO | MB_DEFBUTTON2) == IDYES) { CFrameWnd::OnClose(); } }
)OnOK()或OnCancel()只对窗口程序有用
2)PostQuitMessage(0);//最常用
3)exit(1);//据说已经不常用了
4)ExitProcess(0);
5)SendMessage(WM_CLOSE);
6)((CMainFrame*)AfxGetMainWnd())->SendMessage(WM_CLOSE);