阅读:2337回复:6
请问键盘过滤驱动(Ctrl2cap)如何与应用程序实现交互控制
可能我先前发贴提问,具体说不太清楚,所以问题始终得不到解决!!!
其实我要实现的只是:当在我的应用程序中按下键盘的F12键时等于按下键盘的F1键,而在系统中的其它应用程序则不变,F12还是F12。 在驱动中,建立了两个设备,一个键盘过滤设备,一个和应用程序通讯的设备。 已实现应用程序通过DeviceIoControl(控制码自己定义的)和驱动通讯。 驱动中: switch (IoControlCodes) { case Start: //自己定义的控制码 DbgPrint("Starting......\n"); .............. 接下来就不知道要如何实现了!!! 这个问题想了很久也想不出个办法,希望这里有人有这方面的经验,浪费一点时间帮忙解决,谢谢!!! |
|
沙发#
发布于:2007-07-19 09:18
如果这个应用程序是你的,还是在应用程序中处理吧
|
|
|
板凳#
发布于:2007-07-20 03:58
引用第1楼znsoft于2007-07-19 09:18发表的 : 要是在应用程序中处理的话,那倒是挺直接的。 但我还是想用驱动解决,越是底层就越有味道!!! 想来想去,最好的方法还是在程序中动态加载键盘过滤驱动,当在其它程序中时,则动态卸载它。 不知兄台可有更好的方法??? |
|
地板#
发布于:2007-07-30 15:03
做产品首先考虑的要实现功能和稳定性,而不是考虑的所谓的“味道”
|
|
|
地下室#
发布于:2007-08-13 10:11
引用第3楼AllenZh于2007-07-30 15:03发表的 : AllenZh说的有道理,首先是稳定和功能。如果追求所谓的“味道”,几万行的SYS,干脆你全用ASM来写得了,绝对很值得回味! |
|
|
5楼#
发布于:2007-08-14 13:54
估计不可能,driver中无法区分app
|
|
|
6楼#
发布于:2008-03-26 07:43
请问你是怎么建立两个设备的?不明白
|
|
|