捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键

  1. // CTestView 消息处理程序    
  2.    
  3. BOOL CTestView::PreTranslateMessage(MSG* pMsg)   
  4. {   
  5.     if(pMsg->message==WM_KEYDOWN)   
  6.     {   
  7.         BOOL bCtrl=::GetKeyState(VK_CONTROL)&0x8000;   
  8.         BOOL bShift=::GetKeyState(VK_SHIFT)&0x8000;   
  9.         BOOL bAlt=::GetKeyState(VK_MENU)&0x8000;   
  10.         switch(pMsg->wParam)   
  11.         {   
  12.         case VK_DELETE:   
  13.             if(bCtrl&&bAlt&&bShift)   
  14.                 MessageBox("你按下的是Ctrl+Shift+Alt+Delete组合键","信息提示",MB_OK);   
  15.             else if(bCtrl&&bShift)   
  16.                 MessageBox("你按下的是Ctrl+Shift+Delete组合键","信息提示",MB_OK);   
  17.             else if(bCtrl)   
  18.                 MessageBox("你按下的是Ctrl+Delete组合键","信息提示",MB_OK);   
  19.             return TRUE;   
  20.         case VK_INSERT:   
  21.             if(bCtrl&&bAlt&&bShift)   
  22.                 MessageBox("你按下的是Ctrl+Shift+Alt+Insert组合键","信息提示",MB_OK);   
  23.             else if(bCtrl&&bAlt)   
  24.                 MessageBox("你按下的是Ctrl+Alt+Insert组合键","信息提示",MB_OK);   
  25.             else if(bCtrl)   
  26.                 MessageBox("你按下的是Ctrl+Insert组合键","信息提示",MB_OK);   
  27.             return TRUE;   
  28.         }   
  29.     }   
  30.     return CView::PreTranslateMessage(pMsg);   

你可能感兴趣的:(捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键)