实现依次按下按键的快捷键响应

来源:互联网 发布:opencv编程案例详解pdf 编辑:程序博客网 时间:2024/06/09 17:34

有一些情况可能需要依次按下某些按键来响应一个函数,例如按下了shift+ctrl,然后依次按下ABC,才会执行某个函数,今天正好碰到这个问题,想了个笨办法,实现如下:

 

// 忽略注册热键之类的东西,直接贴窗口过程

 

static bool bTDown=false;static bool bRDown=false;static bool bYDown=false;switch(pMsg->message){case WM_HOTKEY:{if(HOTKEY_SHOWTEAM_T==pMsg->wParam){bTDown=true;bRDown=false;bYDown=false;}else if(HOTKEY_SHOWTEAM_R==pMsg->wParam){if(bTDown==true){bRDown=true;}else{bTDown=bRDown=bYDown=false;}}else if(HOTKEY_SHOWTEAM_Y==pMsg->wParam){if(bTDown==true&&bRDown==true){bYDown=true;}else{////bTDown=bRDown=bYDown=false;}}///////////////////if(bRDown&&bYDown&&bTDown){{//Your code here
}}}break;case WM_KEYUP:{if('T'!=pMsg->wParam&&'R'!=pMsg->wParam&&'Y'!=pMsg->wParam){bTDown=bRDown=bYDown=false;}}}


 

这样就可以实现按下了ctrl+shift+alt后依次按下TRY按键后就能执行自己的函数了。