首先说明一下情况:
我利用USB协议自己做了一个USB键盘,现在可以正常使用。
同时我的键盘还会给电脑发送一些非标准键盘的键,比如属于USB协议中的保留键的键,或者是F13、F14等一些windows键盘不包含的键,现在我需要自己写一个上位机的软件,当收到这些特殊的键的时候,进行一些处理。
我尝试了使用HOOK的方法,结果只能HOOK到常见的键,对于特殊键无法捕捉。
我又尝试了使用CreateFile读取设备的方法,由于键盘是独占设备,所以最终我只能查询我的键盘,却不能读到按键。
问题来了:
不知道有没有什么办法可以让我在键盘输入这些特殊键的时候,我的程序能够捕捉到?
------解决方案--------------------
编写个键盘驱动过滤程序,挂接在驱动程序上,截获I/O管理器的IRP,进行修改IRP操作