c++ - 检测模拟键盘/鼠标输入

标签 c++ windows winapi input simulation

有没有办法检测 Windows 上的模拟键盘/鼠标输入。例如,用户在他的键盘上键入内容而不是 sendKeys/PostMessage/屏幕键盘。有什么方法可以区分这两者吗?

编辑:也许一个例子会有所帮助。我正在制作游戏,想要区分真实输入与 WinAPI 合成键盘/鼠标消息。

最佳答案

区分“真实”输入和“模拟”输入的唯一方法(假设它是用 keybd_event()/mouse_event() 生成的) SendInput()) 是通过 SetWindowsHookEx() 使用低级键盘/鼠标钩子(Hook)。 WH_KEYBOARD_LLWH_MOUSE_LL Hook 回调为模拟输入提供了 INJECTED 标志。

关于c++ - 检测模拟键盘/鼠标输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553777/

相关文章:

c++ - 如何创建一个新线程并在一段时间后终止它?

windows - 写输出-InputObject(,'Test')-NoEnumerate

c++ - 创建全局键盘钩子(Hook)

c++ - 包含 ksmedia.h 后驱动程序中的编译警告

c++ - 在 Win32 中禁用最小化、最大化、关闭按钮

c++ - lambda 中的这个 size_t 是做什么的? C++代码

java - Qt:委托(delegate)给单个编辑器

c++ - 从已在基类中正确定义的子类调用未定义的虚方法时出错

c++ - 如何静态构建和链接 LuaJIT (VS 2013)

windows - 我可以安全地删除 Windows 机器上的 "...\AppData\Local\Redis"文件夹吗?