请教各位高手,在下是win ce菜鸟,如果我想实现一个键盘锁,不考虑触摸屏,有啥实现思路没?
这个帖子不错啊。推荐一下先。
我觉得要有如下工作吧
我没有做过,但是我是这么想的:
咱键盘驱动中实现,识别锁定键,之后就不再响应键盘消息,关闭背光,不响应一般的键,直到再次输入这个锁定键盘。
这个应该不难实现吧?
还是我太天真了。
修改键盘驱动了。
在“锁”住的状态下,只对“开锁”的键有反应,其它键都忽略。
开锁的状态下,自然就对所有键处理了。
这是虾米意思?
我自己的想法是可以不可以自己定义一个消息,当我自己定义的键盘锁键按下的时候这个消息将被发出去,
同时我自己HOOK下键盘,一拦截到这个键盘消息后置一个标志位,后面的键盘消息我将统统给过滤掉,我想这样是不是显得有点麻烦了?
从驱动改,是根本的解决方法
也可以试试按键HOOK
应该是不需要驱动的,你可以参考一下Slide2Unlock,是WM下的一个锁屏软件,肯定是不依赖于具体的键盘驱动的。
引用: 引用 5 楼 yashi 的回复:
修改键盘驱动了。
在“锁”住的状态下,只对“开锁”的键有反应,其它键都忽略。
开锁的状态下,自然就对所有键处理了。
赞同MVP版主,这个不用多少行代码就可以实现的。应用我不懂。
引用: 引用 7 楼 ljp1205 的回复:
这是虾米意思?
我自己的想法是可以不可以自己定义一个消息,当我自己定义的键盘锁键按下的时候这个消息将被发出去,
同时我自己HOOK下键盘,一拦截到这个键盘消息后置一个标志位,后面的键盘消息我将统统给过滤掉,我想这样是不是显得有点麻烦了?
个人觉得用Hook就可以了,直接把键盘消息拦截住来判断要不要将Hook链继续下去,如果是锁定状态,Hook直接返回True滤掉按键消息,否则,继续传递Hook链。
如果再加上一段时间过后设备没有被使用需要自动锁键盘的功能呢?
...........................
根本解决办法当然是改键盘驱动。或者你可以写个应用程序,开个topmost窗口把其他界面都盖住。