方法1:
BOOL CRF_CalibratorDlg::PreTranslateMessage(MSG* pMsg)
{// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN)
{
short int statusCtrl=GetKeyState(VK_CONTROL);
short int statusX =GetKeyState('X');
if((statusCtrl & 0x80) == 0x80 && (statusX & 0x80) == 0x80)
{
//按组合键的代码
}
}
return CDialog::PreTranslateMessage(pMsg);}
方法2:
固定某个组合键可以这样,以ctrl+F9为例
char nchar = pMsg->wParam;
if(nChar==VK_F9 && ((GetAsyncKeyState( VK_LCONTROL ) & 0x8000)))
{
MessageBox("ctrl+f9");
}

本文介绍了两种在Windows应用程序中捕获特定组合键的方法。方法一使用`PreTranslateMessage`函数来监听并响应CTRL+X的组合键按下事件;方法二则通过`GetAsyncKeyState`函数实现对CTRL+F9组合键的监听。

1609

被折叠的 条评论
为什么被折叠?



