实现方案有以下几种:
1、用SetWindowsHookEx(WH_KEYBOARD_LL / WH_KEYBOARD);
2、反复检查GetKeyboardState的值,自己确定键是否被按下;
3、其他的方法都不行的话,用DirectInput;
参考如下:
重载PreTranslate函数,在里面加判断:
if (WM_KEYDOWN == pMsg->message)
{
if ((VK_F10 == pMsg->wParam))
{
dosomething;
}
}
int key;scanf("%d",&key);while(key!=vk_esc)//vk_esc表示对应的ASCII码{scanf("%d",&key);if(key == vk_up)//vk_esc表示对应的ASCII码{moveUP();//你的移动函数}}
获取键盘输入消息wm_char就可以了,也就是判断pmsg->message==vk_up