kn007 发表于 2009-7-4 21:37:34

顶。。。。。。。难道不能解决?!

rolaka 发表于 2009-7-4 23:04:00

可以 在设备管理器里把键盘卸了就ok了

kn007 发表于 2009-7-4 23:33:43

汗。。。,具体操作呢?

都市浪子666 发表于 2009-7-5 00:12:20

帮你顶一下
不知道用 DevCon.exe行不行

帮助文档
devcon.exe [-r] [-m:\\<machine>] <command> [<arg>...]
-r 如果指定它,在命令完成后若需要则重新启动计算机。
<machine> 是目标计算机的名称。
<command> 是将要执行的命令(如下所示)。
<arg>...是命令需要的一个或多个参数。

要获取关于某一特定命令的帮助,请键入:devcon.exe help <command>
disable            禁用与指定的硬件或实例 ID 匹配的设备。
enable               启用与指定的硬件或实例 ID 匹配的设

kn007 发表于 2009-7-5 00:21:12

我要在任何机子都通用的那种。。。。。不过也谢谢

pusofalse 发表于 2009-7-5 01:20:45

助顶,感觉这个AU3没有事件模式,很不方便。
tisiem 发表于 2009-7-4 20:53 http://www.autoitx.com/images/common/back.gif
tisiem 兄是从哪一点知道AU3没有事件模式的呢?

禁用键盘无非是不想让用户用键盘输入,kn007小伙可以看下这个帖子,http://www.autoitx.com/forum.php?mod=viewthread&tid=6268&page=1&fromuid=7634069#pid42431

lynfr8 发表于 2009-7-5 01:26:15

au3只有BlockInput函数是同时屏蔽/启用鼠标与键盘(输入).
要单独屏蔽键盘须要从Windows消息入手,
常用的就是钩子,如果要屏蔽键盘,就截获键盘消息,不让窗体得到,键盘就失效了。
这里有一段代码是关于hook锁键盘的,au3我不知道怎么写,供参考一下屏蔽掉键盘:   
Library   KillKB;   
   
Uses   Wintypes,   WinProcs   
{$IFNDEF   VER80}   
      ,Win31   
{$ENDIF}   
      ;   
Var   
      oldHook:   HHook;   
   
Function   KbHook(   code:   Integer;   wparam:   Word;   lparam:   LongInt   ):   LongInt;   
      export;   
Begin   
      If   code   <   0   Then   
          KbHook   :=   CallNextHookEx(   oldHook,   code,   wparam,   lparam   )   
      Else   
          KbHook   :=   1;   
End;   {   KbHook   }   
   
Function   DisableKeyboard:   Boolean;   export;   
Begin   
   
      oldHook   :=   SetWindowsHookEx(   WH_KEYBOARD,   KbHook,   HInstance,   0   );   
      DisableKeyboard   :=   oldHook   <>   0;   
End;   
   
Procedure   EnableKeyboard;   export;   
Begin   
      If   oldHook   <>   0   Then   Begin   
          UnhookWindowshookEx(   oldHook   );   
          oldHook   :=   0;   
      End;   {   If   }   
End;   
   
exports   
DisableKeyboard   index   1,   
EnableKeyboard   index   2;   
   
Begin   
      oldHook   :=   0;   
End.   不过解决问题的方法不是唯一的
小米加步枪都可以将小日本鬼子赶出我国山河嘛
看下面一段简单au3演示代码:#NoTrayIcon
HotKeySet("{F4}","_Null")
Func _Null()
EndFunc
While True
Sleep(1000)
WEnd运行后你试试按F4键...怎样,是不是F4成哑巴了?
呵呵
很简单的就是设置热键但是无热键事件,进入一个死循环
不管怎样,想键盘变哑的目的已经达到了
原理就在这里了
剩下的自己搞吧
SO EASY:face (22):

lynfr8 发表于 2009-7-5 01:35:13


kn007小伙可以看下这个帖子
难道pusofalse兄是吾等之长辈?失敬也...

pusofalse 发表于 2009-7-5 01:58:16

23# lynfr8

lynfr8兄这样说真是折杀我了,叫“小伙”是因为我知道现在kn007现在仍是一个高中生。或许是lynfr8兄误解了,“小伙”一词没带有任何贬义,反倒有些敬佩,年龄摆在这里了。

kn007 发表于 2009-7-5 08:33:06


tisiem 兄是从哪一点知道AU3没有事件模式的呢?

禁用键盘无非是不想让用户用键盘输入,kn007小伙可以看下这个帖子,http://www.autoitx.com/forum.php?mod=viewthread&tid=6268&page=1&fromuid=7634069#pid42431
pusofalse 发表于 2009-7-5 01:20 http://www.autoitx.com/images/common/back.gif
谢谢pusofalse 大哥,我去研究下

kn007 发表于 2009-7-5 08:34:45

au3只有BlockInput函数是同时屏蔽/启用鼠标与键盘(输入).
要单独屏蔽键盘须要从Windows消息入手,
常用的就是钩子,如果要屏蔽键盘,就截获键盘消息,不让窗体得到,键盘就失效了。
这里有一段代码是关于hook锁键 ...
lynfr8 发表于 2009-7-5 01:26 http://www.autoitx.com/images/common/back.gif
谢谢lynfr8 ,我现在就是用你的第2种源码,我写的都手酸了,还没写玩

kn007 发表于 2009-7-5 08:37:01

23# lynfr8

lynfr8兄这样说真是折杀我了,叫“小伙”是因为我知道现在kn007现在仍是一个高中生。或许是lynfr8兄误解了,“小伙”一词没带有任何贬义,反倒有些敬佩,年龄摆在这里了。
pusofalse 发表于 2009-7-5 01:58 http://www.autoitx.com/images/common/back.gif
嘿嘿,两位都是我的大哥

kn007 发表于 2009-7-5 08:39:04

嘿嘿,其实说白了,我是想把这东西搞到挂机锁。。。。

kn007 发表于 2009-7-5 08:42:28

第一段代码看不懂,而且不是autoit的

kn007 发表于 2009-7-5 09:08:34

为了试验http://www.autoitx.com/forum.php?mod=viewthread&tid=859&page=1&fromuid=7644076#pid6090
耗费了20大洋
页: 1 [2] 3 4
查看完整版本: 如何只禁用键盘呢,而鼠标不要受影响