我的电脑有两个键盘一起使用。
我为其中一个做了过滤驱动。
驱动程序的构思是这样的。
屏蔽掉该键盘的所有信息,把用户按下的按键信息拦截下来,不再向下发送,
而是把这些信息发送给某个应用程序,让这个应用程序来处理这些按键信息。
从而达到把整个键盘的每一个按键当做热键(HotKey)来使用的目的。
现在过滤驱动已经能记录键盘按键信息了,但是,驱动程序怎么主动的向某个应用程序发送这些消息?
------解决方案--------------------
个人感觉,这个应该在驱动中采用win32的事件通知来完成这个功能。
你的应用程序首先创建一个事件,把该事件句柄传递给过滤驱动,然后等待驱动程序发送
事件消息即可。
驱动程序通过调用ObReferenceObjectByHandle函数,来获取这个事件的内核对象指针,就
可以设置事件的信号状态,触发应用程序。
这样应该就可以达到你所要求的效果。