再谈组合键
时间:2011-05-05 来源:易丞
用Hook来捕获键盘消息时,注意字母键a-z或者A-Z,都按大写字母的ASCII码处理。如对Ctrl+v组合键,程序应该如此判断:if (wParam=='V' && GetKeyState (VK_CONTROL) & 0x80) {//Ctrl+v键按下处理}。
这样处理,当按下ctrl+v,会两次进入;也就是v键按下和弹起时候都会满足条件。这样需要用到lParam参数,判断其最高位的值,为0表示按下,1表示弹起,为了防止长按ctrl+v键响应多次,我们可以让v键弹起的时候响应一次,代码:
if (wParam=='V' && GetKeyState (VK_CONTROL) & 0x80 && lParam&0x80000000) {//Ctrl+v键按下处理}。
相关阅读 更多 +