我们在程序中经常用到屏蔽某个按键的功能,屏蔽普通的键盘按键,只需在PretranslateMessage函数中捕获该按键消息。然后屏蔽Alt+F4, Ctrl+N等组合键时,需要在按下某一键时判断相应的组合键是否按下。
代码如下所示:
if ( pMsg->message == WM_KEYDOWN )
{
switch ( pMsg->wParam )
{
// 屏蔽 空格键
case VK_ESCAPE:
return FALSE;
// 屏蔽Ctrl+N键
case 78: // 'N'
if ( ::GetKeyState( VK_CONTROL ) < 0 )
{
return TRUE;
}
break;
default:
break;
}
}
代码如下所示:
if ( pMsg->message == WM_KEYDOWN )
{
switch ( pMsg->wParam )
{
// 屏蔽 空格键
case VK_ESCAPE:
return FALSE;
// 屏蔽Ctrl+N键
case 78: // 'N'
if ( ::GetKeyState( VK_CONTROL ) < 0 )
{
return TRUE;
}
break;
default:
break;
}
}

本文介绍了如何在程序中屏蔽特定的键盘按键,特别是组合键如Alt+F4和Ctrl+N。通过在PretranslateMessage函数中捕获键盘消息,并结合GetKeyState函数判断状态,实现对组合键的屏蔽。
最低0.47元/天 解锁文章
615

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



