有没有办法检测 Windows 上的模拟键盘/鼠标输入。例如,用户在他的键盘上键入内容而不是 sendKeys/PostMessage/屏幕键盘。有什么方法可以区分这两者吗?
编辑:也许一个例子会有所帮助。我正在制作游戏,想要区分真实输入与 WinAPI 合成键盘/鼠标消息。
最佳答案
区分“真实”输入和“模拟”输入的唯一方法(假设它是用 keybd_event()
/mouse_event()
或 生成的) SendInput()
) 是通过 SetWindowsHookEx()
使用低级键盘/鼠标钩子(Hook)。 WH_KEYBOARD_LL
和 WH_MOUSE_LL
Hook 回调为模拟输入提供了 INJECTED
标志。
关于c++ - 检测模拟键盘/鼠标输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553777/