钢琴家刷屏器

 

  1  #NoEnv
  2 SetBatchLines -1
  3 ListLines Off
  4 
  5 ;强制以ANSI版本管理员权限运行
  6 runwith("admin")
  7 
  8 IniRead, con, myfile.ini, Count, count
  9 IniRead, pl1, myfile.ini, Time, key_time
 10 ; MsgBox, %con%
 11 
 12 Gui Add, Text, x10 y20 w60 h20, 问候语
 13 Gui Add, Text, x80 y5 w60 h20, F1 刷战地5
 14 Gui Add, Text, x80 y20 w60 h20, F2 刷LOL
 15 Gui Add, Text, x10 y120 w60 h20, 间隔时间
 16 Gui Add, Edit, x10 y40 w210 r5 vMyEdit_text
 17 ; Gui Add, Edit, x30 y135 w60 h20
 18 ; Gui Add, UpDown, vMyEdit_pl Range150-1000, %pl1%
 19 Gui, Add, Slider,x10 y140 w200 h20 vSliderpl gSliderpl range150-30000 AltSubmit Line150 TickInterval1000, %pl1%
 20 Gui Add, Button, x155 y167 w65 h20, 保存
 21 Gui Add, Button, x155 y15 w65 h20, 增加
 22 Gui, Add, Radio, x10 y170 vMyRadioGroup Checked, 单句循环
 23 Gui, Add, Radio, x85 y170 vMyRadioGroup1, 逐行循环
 24 Gui, Add, ListView, x10 y200 r20 w210 h160  Grid NoSortHdr -Hdr NoSort -Multi vlistview1 gMyListView, 详细信息
 25 Loop %con%{
 26     IniRead, text2, myfile.ini, Text, key_text%A_Index%
 27     LV_Add("", text2)
 28     ; MsgBox, %text2%
 29 }
 30 LV_Modify(1, "Select")
 31 
 32 Menu, Tray, NoStandard
 33 Menu, Tray, Add, 重启, reload
 34 Menu, Tray, Add, 暂停, Pause
 35 Menu, Tray, Add, 退出, OnExit
 36 
 37 ; GuiControl,, MyEdit_text, %text1%
 38 
 39 Gui, Add, StatusBar
 40 SB_SetParts(20, 100, 110)
 41 SB_SetIcon("Shell32.dll", 16)
 42 SB_SetText("状态: 等待操作", 2)
 43 i := 0
 44 SB_SetText("保存计数: " i, 3)
 45 
 46 Gui Show, x1000 y150 w230 h400, 游戏刷屏器by CXR
 47 Return
 48 
 49 
 50 MyListView:
 51     if (A_GuiEvent = "DoubleClick")
 52     {
 53         cont := LV_GetCount(Selected)
 54         LV_Delete(cont)
 55         IniDelete, myfile.ini, Text, key_text%cont%
 56         IniWrite, % LV_GetCount(), myfile.ini, Count, count
 57     }
 58 return
 59 
 60 Sliderpl:
 61     Gui, Submit, NoHide
 62     UpdateToolTip(Sliderpl)
 63     ; GuiControl,,Position, % arduino_send(ServoSlider)
 64 return
 65 
 66 UpdateToolTip(val){
 67     SetFormat, Integer, DEC
 68     val += 0
 69     ToolTip % val
 70     SetTimer, tooltip_close, -500
 71 }
 72 
 73 tooltip_close:
 74     ToolTip
 75 return
 76 
 77 Button增加:
 78 Gui, Submit, NoHide
 79 LV_Add("", MyEdit_text)
 80 GuiControl,, MyEdit_text
 81 Return
 82 
 83 Button保存:
 84     Gui, Submit, NoHide
 85     ; GuiControlGet, text ,, MyEdit_text
 86     ; GuiControlGet, pl ,, Sliderpl
 87     Loop % LV_GetCount()  ;LV_GetCount() 是Listview中具有条目的行数,循环次数
 88         {
 89         LV_GetText(Site, A_Index) ;利用循环,获取每一行第一列数据。
 90         ; MsgBox, %Site%
 91         IniWrite, %Site%, myfile.ini, Text, key_text%A_Index%
 92         }
 93     IniWrite, % LV_GetCount(), myfile.ini, Count, count
 94     IniWrite, %Sliderpl%, myfile.ini, Time, key_time
 95     text1 := text
 96     pl1 := pl
 97     i += 1
 98     SB_SetText("操作计数: " i, 3)
 99     SB_SetText("状态: 保存成功", 2)
100     ToolTip, 保存成功
101     Sleep 3000
102     ToolTip
103     SB_SetText("状态: 等待操作", 2)
104     return
105 
106 F1::toggle := !toggle
107 F1 Up::Settimer KaiGuan, % toggle=0 ? "Off" : pl1
108 KaiGuan:
109 Send {enter}
110 Sleep 150
111 SendInput %text1%
112 Sleep 150
113 Send {enter}
114 return
115 
116 F2::toggle1 := !toggle1
117 F2 Up::Settimer KaiGuan1, % toggle1=0 ? "Off" : pl1
118 KaiGuan1:
119 Gui, Submit, NoHide
120 If (MyRadioGroup){
121     LV_GetText(select, LV_GetNext(Focused))
122     ; MsgBox, %pl1%
123     ; MsgBox, %select%
124         if WinExist("ahk_class RiotWindowClass"){
125             WinActivate
126             ; Sleep pl1
127             Send {enter}
128             Sleep 20
129             SendInput {text}%select%
130             Sleep 170
131             Send {enter}
132             Return
133         }
134 }
135 If (MyRadioGroup1){
136     Loop % LV_GetCount()  ;LV_GetCount() 是Listview中具有条目的行数,循环次数
137         {
138         LV_GetText(Site, A_Index) ;利用循环,获取每一行第一列数据。
139         ;MsgBox, %Site%
140         ; IniWrite, %Site%, myfile.ini, Text, key_text%A_Index%
141         if WinExist("ahk_class RiotWindowClass"){
142             WinActivate
143             ; Sleep pl1
144             Send {enter}
145             Sleep 20
146             SendInput {text}%Site%
147             Sleep 170
148             Send {enter}
149         }
150         }
151 }
152 return
153 
154 F3::
155 Pause
156 Return
157 
158 ~Space::
159 While GetKeyState("Space","P") {
160     ;SendInput ``
161     SendInput z
162     Sleep 200
163     SendInput x
164     Sleep 200
165 } 
166 ; SendInput {`` Up}
167 Return
168 
169 ~$a::
170 SendInput, c
171 SendInput, {c down}
172 return
173 ; F3::
174 ; if (onoff := !onoff){
175 ;     if WinExist("ahk_class RiotWindowClass"){
176 ;         WinActivate
177 ;         Send {enter}
178 ;         Sleep pl1
179 ;         SendInput {text}`%i:
180 ;         Sleep pl1
181 ;         Send {enter}
182 ;         Return
183 ;     }
184 ; }
185 ;  else{
186 ;     if WinExist("ahk_class RiotWindowClass"){
187 ;         WinActivate
188 ;         Send {enter}
189 ;         Sleep pl1
190 ;         SendInput {text}`%
191 ;         Sleep pl1
192 ;         Send {enter}
193 ;         Return
194 ;     }
195 ;  }
196 ; Return
197 
198 ; F4::toggle3 := !toggle3
199 ; F4 Up::Settimer KaiGuan3, % toggle3=0 ? "Off" : 50
200 ; KaiGuan3:
201 ; if WinExist("ahk_class RiotWindowClass"){
202 ;     WinActivate
203 ;     Send {enter}
204 ;     Sleep pl1
205 ;     SendInput {text}`%
206 ;     SendInput {text}%text1%
207 ;     SendInput {text}`%i:
208 ;     Sleep pl1
209 ;     Send {enter}
210 ; }
211 ; return
212 
213 reload:
214 reload
215 return
216 
217 OnExit:
218 ExitApp
219 return
220 
221 Pause:
222 Pause
223 return
224 
225 GuiClose:
226 ExitApp
227 
228 ;强制改权限
229 RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
230 {
231     ; 格式化预期的模式
232     switch, RunAsAdmin
233     {
234         case "Normal","Standard","No","0":        RunAsAdmin:=0
235         case "Admin","Yes","1":                                RunAsAdmin:=1
236         case "Default":                                                RunAsAdmin:=A_IsAdmin
237         default:                                                            RunAsAdmin:=A_IsAdmin
238     }
239     switch, ANSI_U32_U64
240     {
241         case "A32","ANSI","A":                                ANSI_U32_U64:="AutoHotkeyA32.exe"
242         case "U32","X32","32":                                ANSI_U32_U64:="AutoHotkeyU32.exe"
243         case "U64","X64","64":                                ANSI_U32_U64:="AutoHotkeyU64.exe"
244         case "Default":                                                ANSI_U32_U64:="AutoHotkey.exe"
245         default:                                                            ANSI_U32_U64:="AutoHotkey.exe"
246     }
247     ; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数)
248     for k, v in A_Args
249     {
250         if (RunAsAdmin=1)
251         {
252             ; 转义所有的引号与转义符号
253             v:=StrReplace(v, "\", "\\")
254             v:=StrReplace(v, """", "\""")
255             ; 无论参数中是否有空格,都给参数两边加上引号
256             ; Run       的内引号是 "
257             ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
258         }
259         else
260         {
261             ; 转义所有的引号与转义符号
262             ; 注意要转义两次 Run 和 RunAs.exe
263             v:=StrReplace(v, "\", "\\")
264             v:=StrReplace(v, """", "\""")
265             v:=StrReplace(v, "\", "\\")
266             v:=StrReplace(v, """", "\""")
267             ; 无论参数中是否有空格,都给参数两边加上引号
268             ; RunAs.exe 的内引号是 \"
269             ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
270         }
271     }
272     ; 判断当前 exe 是什么版本
273     if (!A_IsUnicode)
274         RunningEXE:="AutoHotkeyA32.exe"
275     else if (A_PtrSize=4)
276         RunningEXE:="AutoHotkeyU32.exe"
277     else if (A_PtrSize=8)
278         RunningEXE:="AutoHotkeyU64.exe"
279     ; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
280     if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
281         return
282     ; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
283     else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
284     {
285         预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
286         当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限"
287             ErrorMessage=
288             (LTrim
289             预期使用: %ANSI_U32_U64%
290             当前使用: %RunningEXE%
291             预期权限: %预期权限%
292             当前权限: %当前权限%
293             程序即将退出。
294             )
295             MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
296         ExitApp
297     }
298     else
299     {
300         ; 获取 AutoHotkey.exe 的路径
301         SplitPath, A_AhkPath, , Dir
302         if (RunAsAdmin=0)
303         {
304             ; 强制普通权限运行
305             switch, A_IsCompiled
306             {
307                 ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
308                 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。
309                 case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
310                 default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
311             }
312         }
313         else
314         {
315             ; 强制管理员权限运行
316             switch, A_IsCompiled
317             {
318                 ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
319                 ; 工作目录不用单独指定,默认使用 A_WorkingDir 。
320                 case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters%
321                 default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters%
322             }
323         }
324         ExitApp
325     }
326 }
327 ;后台静默运行cmd命令缓存文本取值
328 cmdSilenceReturn(command){
329     CMDReturn:=""
330     cmdFN:="RunAnyCtrlCMD"
331     try{
332         RunWait,% ComSpec " /C " command " > ""%Temp%\" cmdFN ".log""",, Hide
333         FileRead, CMDReturn, %A_Temp%\%cmdFN%.log
334         FileDelete,%A_Temp%\%cmdFN%.log
335     }catch{}
336     return CMDReturn
337 }

 

posted @ 2022-09-22 20:01  c/  阅读(41)  评论(0编辑  收藏  举报