重载OnCancel,OnClose自己处理系统消息:
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)  //你的程序不是dialog based的就变化一下,比如换成CMyView::PriTranslateMessage等等。
{
   if(pMsg->message==WM_SYSCOMMAND)
   {
switch(pMsg->wParam)
         {
          case SC_CLOSE:
               //处理..........
               return 1;          case SC_MAXIMIZE:
               //处理...........
               return 1;          case SC_MINIMIZE:
               //处理...........
               return 1;
         }
         
   }

return CDialog::PreTranslateMessage(pMsg);     
}