想实现这样一功能,锁定鼠标键盘,用户按一定义好的快捷键后恢复
我用了blockinput来锁鼠标键盘,但这样也收不到快捷键了,
谁有好的办法?

解决方案 »

  1.   

    用啥hook?
    我用了低级键盘hook,在blockinput后,也是无法得到键盘消息的。我觉得最好不用blockinput,有没有其它锁键盘鼠标的方法呢。
      

  2.   

    把keyupmessage里面的keydown和keyup全部放弃了
    只要按到某一键才重新生效
      

  3.   

    zaza_bbface(我试着成熟一点~)  我的意思是用hook是过滤键盘和鼠标消息,是你定义的就unhook,其他的都过滤掉。
    不是下完钩子再blockinput,你要是有兴趣也可以试试hook完了把键盘,鼠标拔掉,看看能钩住什么
      

  4.   

    普通的hook很容易实现
    这个最麻烦的点在于系统热键你要不要屏蔽呢,蔽Windows的系统键Ctrl-Alt-Tab,Ctrl-Esc,Alt-Tab,win等,如果要屏蔽这些,做起来就比较复杂了
      

  5.   

    用WH_KEYBOARD_LL、WH_MOUSE_LL类型的钩子截获一般的鼠标键盘消息
    用SystemParametersInfo屏蔽系统键
      

  6.   

    我以前做过一个评比任何输入的程序
    也遇到了这个问题
    我使用的是BlockInput函数
    所以所有的输入都被屏蔽了
    于是我使用了响应U盘消息的办法
    锁定以后
    只要插如U盘就解除锁定了
      

  7.   

    楼上的方法真幽默:)
    用chtlovezj(用一流机器的九流程序员) 和sdzeng(大头鸟) ( )基本上解决了,SystemParametersInfo屏蔽ctrl+alt+del只适用于win9x/me, 2k不行