找回密码
 加入
搜索
楼主: kn007

如何只禁用键盘呢,而鼠标不要受影响

[复制链接]
 楼主| 发表于 2009-7-4 21:37:34 | 显示全部楼层
顶。。。。。。。难道不能解决?!
发表于 2009-7-4 23:04:00 | 显示全部楼层
可以 在设备管理器里把键盘卸了就ok了
 楼主| 发表于 2009-7-4 23:33:43 | 显示全部楼层
汗。。。,具体操作呢?
发表于 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 匹配的设
 楼主| 发表于 2009-7-5 00:21:12 | 显示全部楼层
我要在任何机子都通用的那种。。。。。不过也谢谢
发表于 2009-7-5 01:20:45 | 显示全部楼层
助顶,感觉这个AU3没有事件模式,很不方便。
tisiem 发表于 2009-7-4 20:53

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

禁用键盘无非是不想让用户用键盘输入,kn007小伙可以看下这个帖子,http://www.autoitx.com/forum.php ... id=7634069#pid42431

评分

参与人数 1金钱 +8 收起 理由
kn007 + 8 谢谢pusofalse 大哥,我去研究下

查看全部评分

发表于 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

评分

参与人数 1金钱 +8 收起 理由
kn007 + 8 谢谢lynfr8 ,我现在就是用你的第2种源码, ...

查看全部评分

发表于 2009-7-5 01:35:13 | 显示全部楼层
kn007小伙可以看下这个帖子

难道pusofalse  兄是吾等之长辈?失敬也...
发表于 2009-7-5 01:58:16 | 显示全部楼层
23# lynfr8

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

评分

参与人数 1金钱 +10 收起 理由
lynfr8 + 10 你的解答我都很喜欢并学习,我所说非贬义, ...

查看全部评分

 楼主| 发表于 2009-7-5 08:33:06 | 显示全部楼层
tisiem 兄是从哪一点知道AU3没有事件模式的呢?

禁用键盘无非是不想让用户用键盘输入,kn007小伙可以看下这个帖子,http://www.autoitx.com/forum.php ... id=7634069#pid42431
pusofalse 发表于 2009-7-5 01:20

谢谢pusofalse 大哥,我去研究下
 楼主| 发表于 2009-7-5 08:34:45 | 显示全部楼层
au3只有BlockInput函数是同时屏蔽/启用鼠标与键盘(输入).
要单独屏蔽键盘须要从Windows消息入手,
常用的就是钩子,如果要屏蔽键盘,就截获键盘消息,不让窗体得到,键盘就失效了。
这里有一段代码是关于hook锁键 ...
lynfr8 发表于 2009-7-5 01:26

谢谢lynfr8 ,我现在就是用你的第2种源码,我写的都手酸了,还没写玩

评分

参与人数 1金钱 +1 收起 理由
lynfr8 + 1 用数组写就没那么辛苦啦

查看全部评分

 楼主| 发表于 2009-7-5 08:37:01 | 显示全部楼层
23# lynfr8

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

嘿嘿,两位都是我的大哥
 楼主| 发表于 2009-7-5 08:39:04 | 显示全部楼层
嘿嘿,其实说白了,我是想把这东西搞到挂机锁。。。。
 楼主| 发表于 2009-7-5 08:42:28 | 显示全部楼层
第一段代码看不懂,而且不是autoit的
 楼主| 发表于 2009-7-5 09:08:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 06:45 , Processed in 0.081862 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表