#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
这样用起来方便
(GetAsyncKeyState见http://www.huidong.xyz/index.php?mode=2&id=54 )
但是这个是全局检测的,也就是说,如果窗口没有获得焦点,还是会获取到用户输入,所以有了下面的改进版:
// 判断键盘按下
#define KEY_DOWN(VK_NONAME) (GetForegroundWindow() == GetHWnd() && (GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
这里的 GetForegroundWindow() 函数用来获取当前用户的焦点窗口句柄,GetHWnd() 是 easyx 的获取窗口句柄的函数
GetForegroundWindow() 见 http://huidong.xyz/index.php?mode=2&id=287