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 |