随笔 - 493  文章 - 0  评论 - 97  阅读 - 239万

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

如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键
 BOOL CTestView::PreTranslateMessage(MSG* pMsg)
 {
  if(pMsg->message==WM_KEYDOWN)
  {
   BOOL bCtrl=::GetKeyState(VK_CONTROL)&0x8000;
   BOOL bShift=::GetKeyState(VK_SHIFT)&0x8000;
   BOOL bAlt=::GetKeyState(VK_MENU)&0x8000;
   switch(pMsg->wParam)
   {
   case VK_DELETE:
    if(bCtrl&&bAlt&&bShift)
     MessageBox("你按下的是Ctrl+Shift+Alt+Delete组合键",
                                                   "信息提示",MB_OK);
    else if(bCtrl&&bShift)
     MessageBox("你按下的是Ctrl+Shift+Delete组合键",
                                                   "信息提示",MB_OK);
    else if(bCtrl)
     MessageBox("你按下的是Ctrl+Delete组合键",
                                                   "信息提示",MB_OK);
    return TRUE;
   case VK_INSERT:
    if(bCtrl&&bAlt&&bShift)
     MessageBox("你按下的是Ctrl+Shift+Alt+Insert组合键",
                                                   "信息提示",MB_OK);
    else if(bCtrl&&bAlt)
     MessageBox("你按下的是Ctrl+Alt+Insert组合键",
                                                   "信息提示",MB_OK);
    else if(bCtrl)
     MessageBox("你按下的是Ctrl+Insert组合键",
                                                   "信息提示",MB_OK);
    return TRUE;
   }
  }
  return CView::PreTranslateMessage(pMsg);
 }

posted on   清清飞扬  阅读(3098)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
< 2010年11月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
5 6 7 8 9 10 11

点击右上角即可分享
微信分享提示