我們在程序中經常用到屏蔽某個按鍵的功能,屏蔽普通的鍵盤按鍵,只需在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;
}
}