GetKeyboardState 真的是检测物理中断吗我发现不准啊
呆马神迹 2017-08-23 09:31:32 GetKeyboardState 这个函数我用来检测判断是否某一个按键被按下,按照msdn上面的文档说明这个是用来检测物理中断的,可是我在模拟按键的时候发现keybd_event 这个api不断发送按下和松开模拟按键,会干扰这个state返回的结果,也就是说不是文档上说的那样是检测物理中断的,逻辑也可以干扰的是不是啊???测试了无数遍结果还是一样,在按下x键的时候不断发送模拟按键来干扰返回的结果有正有负,微软手册错了???
#include <windows.h>
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
int main(int argc, char* argv[])
{
while(1){
printf("%d\n",KEYDOWN(88));
Sleep(500);
}
return 0;
}
发送keybd_event的代码就不贴出来了