捕获组合键 键盘组合键
Posted yanghongche
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了捕获组合键 键盘组合键相关的知识,希望对你有一定的参考价值。
① 捕获【Ctrl、Ctrl+Alt】和【Ctrl+Alt+Shift】这样的组合键:
② 捕获【Ctrl + Z】组合键:BOOL CTestDlg::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;
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg) char nChar = pMsg->wParam; if(nChar == 'Z' && ((GetAsyncKeyState( VK_LCONTROL ) & 0x8000))) AfxMessageBox("ctrl + z"); return CDialog::PreTranslateMessage(pMsg);
[转自]http://blog.csdn.net/dijkstar/article/details/8944131
以上是关于捕获组合键 键盘组合键的主要内容,如果未能解决你的问题,请参考以下文章
[C#]C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)