我用USB设备解决了这个问题:
USB Reader连接到MoBo USB总线,并显示为USB Composite设备:
USB复合设备 USB \ VID_134B& PID_0206& REV_0100
兼容的HID设备 HID \ VID_134B& PID_0206& REV_0100& MI_01
USB输入设备(第一个实例)USB \ VID_134B& PID_0206& REV_0100& MI_00
USB输入设备(第2个实例)USB \ VID_134B& PID_0206& REV_0100& MI_01
HID键盘 HID \ VID_134B& PID_0206& REV_0100& MI_00
当我用阅读器阅读I-Button时,按钮内的代码被添加到键盘缓冲区(因为它是用物理键盘键入的)和活动应用程序(有键盘焦点)接收代码
所以,我的想法是从阅读器键盘捕获传入的“按键”,避免附加到系统键盘缓冲区,并通过WM_USER,WM_COPYDATA,Socket或其他方法将它们传递给我的应用程序。
因此,目标是编写一个驱动程序,仅应用于特定的USB HID设备(I-Button阅读器,但不适用于真正的PC键盘),它们阻止按键并以某种方式发送到应用程序。
我检查了“键盘过滤器”的微软方式,但我只能阻止一些键组合,但这不是我的目标。
我想我应该创建个人“kbdhid.sys”和/或“kbdcalss.sys”驱动程序的自定义并仅应用于我的USB HID阅读器。
有人能指出我正确的方向吗?
非常感谢
答案 0 :(得分:0)
将您的阅读器设置为在发送代码之前发送前缀 监视键盘的que以获取前缀并弹出应用程序,以便接收键盘输入。
然而,许多读者只能设置为发送控制代码,如STX - 女巫是control_B - 并由Windows使用。