魔兽改键器
功能:改小背包键并保存设置到注册表,方便大家的操作 可有大家喜好自行设定按键 演示图: 代码如下: #NoTrayIcon
#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Resources.au3> $List = ProcessList(@ScriptName) If $List[0][0] > 1 Then Exit FileInstall("Sound.wav",@TempDir&"\",1) Dim $Input[6],$Button[5],$Radio[3],$Group[3],$RadioCheck,$Key = 0,$K = 0 $SysListViewPos = ControlGetPos ("Program Manager","",1) #Region ### START Koda GUI section ### Form= $Form = GUICreate("Our Game V.3", 280, 350, $SysListViewPos[2]-282, $SysListViewPos[3]-352,$WS_POPUPWINDOW,$WS_EX_TOPMOST) $Group[0] = GUICtrlCreateGroup("V.2", 10, 5, 110, 240) GUICtrlSetState(-1,$GUI_DISABLE) $Input[0] = GUICtrlCreateInput("", 20, 20, 40, 40) $Input[1] = GUICtrlCreateInput("", 70, 20, 40, 40) $Input[2] = GUICtrlCreateInput("", 20, 70, 40, 40) $Input[3] = GUICtrlCreateInput("", 70, 70, 40, 40) $Input[4] = GUICtrlCreateInput("", 20, 120, 40, 40) $Input[5] = GUICtrlCreateInput("", 70, 120, 40, 40) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3") If @error And $v3Reg = "" Then RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3", "REG_SZ", "``````1") RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s1", "REG_SZ", "Q``````1") RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s2", "REG_SZ", "W`E`````1") RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s3", "REG_SZ", "1`2`````1") $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3") EndIf $RegData = StringSplit($v3Reg,"`") For $i = 0 To 5 GUICtrlSetLimit($Input[$i], 1) GUICtrlSetFont($Input[$i], 22, 800, 0, "Impact") GUICtrlSetColor($Input[$i], 0x000000) GUICtrlSetStyle ($Input[$i],BitOR(0x0001,0x0008)) $j = $i + 1 If $RegData[$j] <> "" Then GUICtrlSetData($Input[$i],$RegData[$j]) Next $Sound = $RegData[7] $Checkbox = GUICtrlCreateCheckbox("开启启动音", 25, 170, 80, 20) If $Sound = 1 Then GUICtrlSetState(-1,$GUI_CHECKED) $Button[0] = GUICtrlCreateButton("&S保存到 V.1", 20, 200, 90, 25, 0) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group[1] = GUICtrlCreateGroup("V.1", 10, 250, 260, 90) GUICtrlSetState(-1,$GUI_DISABLE) $Radio[0] = GUICtrlCreateRadio("", 20, 270, 120, 20) $Radio[1] = GUICtrlCreateRadio("", 20, 290, 120, 20) $Radio[2] = GUICtrlCreateRadio("", 20, 310, 120, 20) For $i = 0 To 2 $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s"&$i+1) $RegData = StringSplit($v3Reg,"`") $v3Reg = "&" & $i + 1 &"." For $j = 1 to 6 If $RegData[$j] <> "" Then $v3Reg = $v3Reg & $RegData[$j] & ";" Next If $RegData[7] = 1 Then $v3Reg = $v3Reg & "开启启动音." Else $v3Reg = $v3Reg & "关闭启动音." EndIf GUICtrlSetData($Radio[$i],$v3Reg) Next $Button[1] = GUICtrlCreateButton("&U设置到 V.2", 160, 270, 90, 25, 0) $Button[2] = GUICtrlCreateButton("导出配制信息", 160, 305, 90, 25, 0) GUICtrlCreateGroup("", -99, -99, 1, 1) $Group[2] = GUICtrlCreateGroup("使用说明", 130, 5, 140, 240) GUICtrlSetState(-1,$GUI_DISABLE) $Label = GUICtrlCreateLabel(@CRLF &'"`"启动键' & @CRLF & @CRLF &'"Home"显示全员血条' & @CRLF & @CRLF &'"V.2"设置热键' & @CRLF & @CRLF &'"V.1"选择热键组合', 140, 20, 120, 100) GUICtrlSetState(-1,$GUI_DISABLE) $Pic = GUICtrlCreatePic("", 166, 125, 64, 64) _ResourceSetImageToCtrl($Pic, "Logo") $Button[3] = GUICtrlCreateButton("最小化", 140, 200, 60, 25, 0) $Button[4] = GUICtrlCreateButton("关 闭", 200, 200, 60, 25, 0) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### HotKeySet("`","Key") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Button[0] SaveSetting() Case $Button[1] UseSetting() Case $Button[2] ExportReg() Case $Button[3] GUISetState(@SW_MINIMIZE,$Form) Case $Button[4] $v3Reg = "" For $i = 0 To 5 $Var = GUICtrlRead($Input[$i]) $v3Reg = $v3Reg & $Var &"`" Next $v3Reg = $v3Reg & $Sound RegDelete("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3") RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3", "REG_SZ", $v3Reg) Exit Case $Radio[0] $RadioCheck = 1 Case $Radio[1] $RadioCheck = 2 Case $Radio[2] $RadioCheck = 3 Case $Checkbox If BitAND(GUICtrlRead($Checkbox), $GUI_CHECKED) = $GUI_CHECKED Then $Sound = 1 Else $Sound = 0 EndIf Case $GUI_EVENT_PRIMARYDOWN If $Key = 0 Then $Now = GUIGetCursorInfo($Form) For $i = 0 To 5 If $Now[4] = $Input[$i] Then GUICtrlSetData($Input[$i],"") Next EndIf EndSwitch WEnd Func SaveSetting() If $RadioCheck <> "" Then $v3Reg = "" For $i = 0 To 5 $Var = GUICtrlRead($Input[$i]) $v3Reg = $v3Reg & $Var &"`" Next $v3Reg = $v3Reg & $Sound RegDelete("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s" & $RadioCheck) RegWrite("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s" & $RadioCheck, "REG_SZ", $v3Reg) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s" & $RadioCheck) $RegData = StringSplit($v3Reg,"`") $v3Reg = "&" & $RadioCheck &"." For $j = 1 to 6 If $RegData[$j] <> "" Then $v3Reg = $v3Reg & $RegData[$j] & ";" Next If $RegData[7] = 1 Then $v3Reg = $v3Reg & "开启启动音." Else $v3Reg = $v3Reg & "关闭启动音." EndIf $i = $RadioCheck - 1 GUICtrlSetData($Radio[$i],$v3Reg) Else MsgBox(0,"错误","请选择保存方案!") EndIf EndFunc Func UseSetting() If $RadioCheck <> "" Then $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s" & $RadioCheck) $RegData = StringSplit($v3Reg,"`") For $i = 0 To 5 $j = $i + 1 If $RegData[$j] <> "" Then GUICtrlSetData($Input[$i],$RegData[$j]) Else GUICtrlSetData($Input[$i],"") EndIf Next $Sound = $RegData[7] If $Sound = 1 Then GUICtrlSetState($Checkbox,$GUI_CHECKED) Else GUICtrlSetState($Checkbox,$GUI_UNCHECKED) EndIf Else MsgBox(0,"错误","请选择设置方案!") EndIf EndFunc Func ExportReg() $File = "配制信息.reg" FileDelete($File) FileWrite($File , "Windows Registry Editor Version 5.00"&@CRLF&@CRLF&"[HKEY_CURRENT_USER\Software\BroS.4\OurGame]"&@CRLF) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "v3") FileWrite($File ,'"v3"="'&$v3Reg&'"'&@CRLF) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s1") FileWrite($File ,'"s1"="'&$v3Reg&'"'&@CRLF) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s2") FileWrite($File ,'"s2"="'&$v3Reg&'"'&@CRLF) $v3Reg = RegRead("HKEY_CURRENT_USER\Software\BroS.4\OurGame", "s3") FileWrite($File ,'"s3"="'&$v3Reg&'"'&@CRLF) EndFunc Func Key() If $Key Then $Key = 0 For $i = 0 To 5 GUICtrlSetState ($Input[$i],$GUI_ENABLE) Next For $i = 0 To 2 GUICtrlSetState ($Button[$i],$GUI_ENABLE) Next For $i = 0 To 2 GUICtrlSetState ($Radio[$i],$GUI_ENABLE) Next GUICtrlSetState ($Checkbox,$GUI_ENABLE) CancelHotKey() HotKeySet("{HOME}") Send("{SCROLLLOCK off}") Else $Key = 1 For $i = 0 To 5 GUICtrlSetState ($Input[$i],$GUI_DISABLE) Next For $i = 0 To 2 GUICtrlSetState ($Button[$i],$GUI_DISABLE) Next For $i = 0 To 2 GUICtrlSetState ($Radio[$i],$GUI_DISABLE) Next GUICtrlSetState ($Checkbox,$GUI_DISABLE) SetHotKey() HotKeySet("{HOME}","ShowAll") If $Sound = 1 Then SoundPlay(@TempDir&"\Sound.wav") Send("{SCROLLLOCK on}") EndIf EndFunc Func SetHotKey() For $i = 0 To 5 $keyword = GUICtrlRead($Input[$i]) If $keyword <> "" Then $keyword = StringLower($keyword) $hotword = "HotKeyNum" & $i HotKeySet($keyword,$hotword) EndIf Next EndFunc Func CancelHotKey() For $i = 0 To 5 $keyword = GUICtrlRead($Input[$i]) If $keyword <> "" Then $keyword = StringLower($keyword) HotKeySet($keyword) EndIf Next EndFunc Func HotKeyNum0() Send("{NUMPAD7}") EndFunc Func HotKeyNum1() Send("{NUMPAD8}") EndFunc Func HotKeyNum2() Send("{NUMPAD4}") EndFunc Func HotKeyNum3() Send("{NUMPAD5}") EndFunc Func HotKeyNum4() Send("{NUMPAD1}") EndFunc Func HotKeyNum5() Send("{NUMPAD2}") EndFunc Func ShowAll() If $K Then $K = 0 Send("{[ up}") Send("{] up}") Else $K = 1 Send("{[ down}") Send("{] down}") EndIf EndFunc |
查看所有评论

