摘自:xdhywj的专栏 http://blog.csdn.net/xdhywj/article/details/7986320
一、方法一:通过找到主窗口的句柄,然后向主窗口发送消息
- //该函数用来实现对软件系统的退出
- 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);
- }
- }
//该函数用来实现对软件系统的退出
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();
- }
- }
//该函数用来实现对软件系统的退出
void CMainFrame::OnExitSystem()
{
// TODO: Add your command handler code here
if (MessageBox("确定退出系统吗?","提示",MB_YESNO | MB_DEFBUTTON2) == IDYES)
{
CFrameWnd::OnClose();
}
}
二、VC中常用的几个关闭窗口和退出系统的语句
)On
2)PostQuitMessage(0);//最常用
3)exit(1);//据说已经不常用了
4)ExitProcess(0);
5)SendMessage(WM_CLOSE);
6)((CMainFrame*)AfxGetMainWnd())->SendMessage(WM_CLOSE);