如何通过使用hRawInput将真实的键盘或鼠标输入与“ SendInput”等命令输入区分开

时间:2019-09-21 16:48:49

标签: windows keyboard hook keyboard-events

仔细查看了Visual Studio中的spy ++之后,我在键盘上打字时发现hRawInput

我发现每次输入密钥时,此值都会不断变化。 也许这个值意味着RawInput的句柄,我认为hRawInput本身的值没有意义。

但是,当通过此句柄处理RawInput数据时,是否可以区分使用SendInput的键输入和实际键盘的键输入? 如果存在方法,如何使两者无法区分?

在这个问题Detecting simulated keyboard/mouse input中,有人说SetWindowsHookEx可以区分使用SendInput的输入和真实键盘的输入。

但是,SetWindowsHookEx是用于挂接OS消息队列和应用程序消息队列之间的消息移动的函数,而SendInput是在低得多的硬件队列上运行的函数级别,因此我不知道如何区分。

总结问题如下。

  1. 如何使用hRawInput,如何在实际设备的输入与输入之间区分使用SendInput的输入。而且我想知道如何通过使用SendInput或真实设备获得的输入rawInput来获取hRawInput数据信息。

  2. 即使SetWindowsHookEx在OS队列-App队列中工作,而SendInput在硬件队列中工作,如何在实际设备的输入中区分使用SendInput的输入。

0 个答案:

没有答案