Dav*_*ave 1 c++ windows simulation winapi input
有没有办法检测 Windows 上的模拟键盘/鼠标输入。例如,用户在他的键盘上输入一些东西,而不是 sendKeys/PostMessage/屏幕键盘。有没有办法区分这两者?
编辑:也许一个例子会有所帮助。我正在制作游戏并希望区分真实输入与 WinAPI 合成键盘/鼠标消息。
从 Windows 8 开始就有该GetCurrentInputMessageSource
功能。您可以使用它,并检查originId
枚举中的以下值:
IMO_INJECTED
- 输入消息已由SendInput
未在其清单文件中设置UIAccess属性的应用程序注入(通过函数)。TRUE
区分“真实”输入和“模拟”输入(假设它是用keybd_event()
/mouse_event()
或生成的SendInput()
)的唯一方法是通过SetWindowsHookEx()
. 在WH_KEYBOARD_LL
与WH_MOUSE_LL
挂钩回调提供INJECTED
了模拟输入的标志。
归档时间: |
|
查看次数: |
4374 次 |
最近记录: |