现在的位置: 首页 > 综合 > 正文

程序退出前询问是“是否要退出系统”

2013年12月18日 ⁄ 综合 ⁄ 共 501字 ⁄ 字号 评论关闭

 在程序退出前,先询问用户确认是否退出程序。要实现这样的功能,需要处理下面这几个消息:

WM_CLOSE消息


void Main_OnClose(HWND hwnd)
{
 BOOL fOKToClose = Main_OnQueryEndSession(hwnd);

 if(fOKToClose)
 {
     Main_OnEndSession(hwnd, fOKToClose);

 } 
  
}

WM_DESTROY消息

//销毁窗口
void Main_OnDestroy(HWND hwnd)
{ 
 //退出
 PostQuitMessage(0);
}



//WM_QUERYENDSESSION消息

BOOL Main_OnQueryEndSession(HWND hwnd)
{
 UINT iAsk = MessageBox(hwnd,"要退出程序吗?","提示",MB_YESNO|MB_ICONQUESTION);
 
 return iAsk==IDYES?TRUE:FALSE;

}



WM_ENDSESSION消息
//退出窗口
void Main_OnEndSession(HWND hwnd, BOOL fEnding)
{
 if(fEnding)
  DestroyWindow(hwnd);
}

 

 

抱歉!评论已关闭.