要判断hook的鼠标是否是真实鼠标或者是调用mouse_event()的,可以通过获取鼠标的输入源来实现。具体步骤如下:

  1. 在钩子函数中获取当前的输入源,可以使用GetRawInputDeviceInfo函数和RIDI_INPUTSOURCE类型参数,或者使用GetCurrentInputMessageSource函数。

  2. 判断输入源是否为RIM_SOURCEMOUSE,如果是,则表示当前的鼠标事件来自真实的鼠标设备;如果不是,则表示当前的鼠标事件是由程序调用mouse_event()模拟的。

  3. 如果当前的输入源不是真实的鼠标设备,可以通过GetMessageExtraInfo函数获取DWORO值,它可以提供更多的关于输入事件的信息。

需要注意的是,GetMessageExtraInfo函数只能在消息循环中调用,如果在钩子函数中调用会导致死锁或者性能问题。如果需要在钩子函数中获取DWORO值,可以使用线程安全的TLS(Thread Local Storage)来保存DWORO值,然后在消息循环中获取。

判断hook的鼠标是否是真实鼠标 或者是调用mouse_event的 如何获取这个DWORO值 GetMessageExtraInfo不行它永远都是0

原文地址: https://www.cveoy.top/t/topic/bC67 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录