【发布时间】:2010-11-25 09:39:39
【问题描述】:
我正在开发一个需要计算用户击键次数的应用程序。它工作正常,但是用户可以使用 SendInput() WINAPI 函数欺骗应用程序。有什么方法可以区分真实用户的击键和通过 SendInput 发送的击键吗?
【问题讨论】:
标签: c++ windows winapi keyboard
我正在开发一个需要计算用户击键次数的应用程序。它工作正常,但是用户可以使用 SendInput() WINAPI 函数欺骗应用程序。有什么方法可以区分真实用户的击键和通过 SendInput 发送的击键吗?
【问题讨论】:
标签: c++ windows winapi keyboard
使用SetWindowsHookEx 设置类型为WH_KEYBOARD_LL 的挂钩。您的回调可以检查 KBDLLHOOKSTRUCT::flags 字段。如果它设置了LLKHF_INJECTED 标志,那么它来自SentInput 或keybd_event。否则,它来自本地键盘驱动程序。
【讨论】: