乐于分享
好东西不私藏

如何屏蔽键盘指定按键(Au3源码分享)

如何屏蔽键盘指定按键(Au3源码分享)

10多年前有段时间喜欢玩LOL,但是左手经常生的不小心按到左边Win键造成游戏切出来,严重影响游戏体验。

那时候还没有AI,找起代码方法什么的远没有现在这么方便。很是努力的百度了好多回,才把这个键盘屏蔽指定键的程序给整了出来。

特别说明:今天发享的这个软件运行后没有界面,在右下角会有一个图标,鼠标放上去会有相关提示!废话不多说,直接上AU3代码

#Region ;**** 参数创建于 ACNWrapper_GUI ****#PRE_icon=..\..\..\..\Windows\System32\SHELL32.dll|-260#PRE_Outfile_x64=屏蔽Win键.exe#PRE_Res_Comment=屏蔽键盘左右两边的win键#PRE_Res_Description=屏蔽键盘左右两边的win键#PRE_Res_Fileversion=2013.4.23#PRE_Res_LegalCopyright=By 小莫#PRE_Res_requestedExecutionLevel=None#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****#include <WinAPI.au3>#include <WindowsConstants.au3>#include <StructureConstants.au3>;#NoTrayIconOpt("TrayMenuMode"1) ;0 = 默认菜单项, 1 = 没有默认菜单$g_szVersion = "Kill-Win-Key  -By Dxm"If WinExists($g_szVersion) Then ExitAutoItWinSetTitle($g_szVersion)HotKeySet ("^!{F12}","OnAutoItExit")	;退出程序快捷键   CTRL + ALT + F12;OnAutoItExitRegister("OnAutoItExit")	;退出时调用这个函数MsgBox(64,"提示..","本程序功能:屏蔽Win键 " & @CRLF & "恢复请按快捷键:   CTRL + ALT + F12 ")TraySetToolTip("退出快捷键: CTRL + ALT + F12 "Global $_handle$_hook$_endkey = "";创建一个回调函数$_handle = DllCallbackRegister("_keyproc""long""int;wparam;lparam");返回回调函数句柄$_hmod = _WinAPI_GetModuleHandle(0);安装钩子;_WinAPI_SetWindowsHookEx(钩子类型,指针,回调函数句柄)$_hook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_ll, DllCallbackGetPtr($_handle), $_hmod)While 1Sleep(10)WEndFunc _keyproc($nCode$wParam$lParam)	Local $tKEYHOOKSIf $nCode < 0 ThenReturn _WinAPI_CallNextHookEx($_hook$nCode$wParam$lParam) ;键盘消息传递到下一个钩子	EndIf$tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT$lParam)Switch $wParam		Case $WM_KEYDOWN$_endkey = DllStructGetData($tKEYHOOKS"vkCode")Switch $_endkey				Case 91 ;左win键Return 1 ;1为禁用,0为开启				Case 92 ;右win键Return 1			EndSwitch	EndSwitchEndFunc   ;==>_keyprocFunc OnAutoItExit() ;退出时卸载钩子	_WinAPI_UnhookWindowsHookEx($_hook)	DllCallbackFree($_handle)ExitEndFunc   ;==>OnAutoItExit

键盘码参考以下图片,需要屏蔽哪个就填写哪个吧

#屏蔽指定键 #Au3代码  #Autoit

往期Au3相关文章:

根据MAC地址自动修改计算机名与IP地址(Au3源码分享)

时间同步工具分享(Au3源码分享)