; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日

 

; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日

 

  1. ; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本202487
  2. ; 测试环境:AutoHotkey_1.1.37.02_Setup.exe & Windows_Server_2016_标准版.ISO
  3. ; 测试结果:测试通过,能够在服务器上实现 7x24小时不间断高速下载网吧游戏到本地磁盘
  4. ; 设置环境变量
  5. #NoEnv
  6. ; #Warn
  7. SendMode Input
  8. SetWorkingDir %A_ScriptDir%
  9. #SingleInstance,force
  10. #Persistent
  11. #WinActivateForce
  12. ;~ #NoTrayIcon
  13. DetectHiddenWindows,On
  14. SetTitleMatchMode,2
  15. RunWith("admin",32)
  16. ;等待指定标题窗口出现
  17. ; WinWait, story 反馈请访问www.pcstory.fun ahk_class Global\{4F7961BA-AD65-4018-BDEA-1BA1FF77CD66} ahk_exe pcstory.exe
  18. SetTimer,Reloadpcstory,600000
  19. ; Reloadpcstory()
  20. return
  21. Reloadpcstory()
  22. {
  23. loop,5
  24. {
  25. ;等待指定标题窗口出现
  26. ; WinWait, story 反馈请访问 www.pcstory.fun ahk_class Global\{4F7961BA-AD65-4018-BDEA-1BA1FF77CD66} ahk_exe pcstory.exe
  27. Sleep,200
  28. Process,Close,pcstory.exe
  29. Sleep,200
  30. Process,Close,fp2psrv.exe
  31. }
  32. Sleep,200
  33. Run,F:\pcstory6.2.0.1sp1\pcstory.exe
  34. }
  35. ExitApp
  36. ; 强制自身进程以 管理员权限 普通权限 ANSI U32 U64 版本运行。
  37. ; 1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。
  38. ; 2: runwith("","ansi") 强制自身以 ansi 版本运行(权限不变)。
  39. ; 3: runwith("normal") 强制自身以 普通权限 运行(版本不变)。
  40. RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
  41. {
  42. ; 格式化预期的模式
  43. switch, RunAsAdmin
  44. {
  45. case "Normal","Standard","No","0": RunAsAdmin:=0
  46. case "Admin","Yes","1": RunAsAdmin:=1
  47. case "default": RunAsAdmin:=A_IsAdmin
  48. default: RunAsAdmin:=A_IsAdmin
  49. }
  50. switch, ANSI_U32_U64
  51. {
  52. case "A32","ANSI","A": ANSI_U32_U64:="AutoHotkeyA32.exe"
  53. case "U32","X32","32": ANSI_U32_U64:="AutoHotkeyU32.exe"
  54. case "U64","X64","64": ANSI_U32_U64:="AutoHotkeyU64.exe"
  55. case "default": ANSI_U32_U64:="AutoHotkey.exe"
  56. default: ANSI_U32_U64:="AutoHotkey.exe"
  57. }
  58. ; 获取传递给 “.ahk 的用户参数(不是 /restart 之类传递给 “.exe 的开关参数)
  59. for k, v in A_Args
  60. {
  61. if (RunAsAdmin=1)
  62. {
  63. ; 转义所有的引号与转义符号
  64. v:=StrReplace(v, "\", "\\")
  65. v:=StrReplace(v, """", "\""")
  66. ; 无论参数中是否有空格,都给参数两边加上引号
  67. ; Run 的内引号是 "
  68. ScriptParameters .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
  69. }
  70. else
  71. {
  72. ; 转义所有的引号与转义符号
  73. ; 注意要转义两次 Run 和 RunAs.exe
  74. v:=StrReplace(v, "\", "\\")
  75. v:=StrReplace(v, """", "\""")
  76. v:=StrReplace(v, "\", "\\")
  77. v:=StrReplace(v, """", "\""")
  78. ; 无论参数中是否有空格,都给参数两边加上引号
  79. ; RunAs.exe 的内引号是 \"
  80. ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
  81. }
  82. }
  83. ; 判断当前 exe 是什么版本
  84. if (!A_IsUnicode)
  85. RunningEXE:="AutoHotkeyA32.exe"
  86. else if (A_PtrSize=4)
  87. RunningEXE:="AutoHotkeyU32.exe"
  88. else if (A_PtrSize=8)
  89. RunningEXE:="AutoHotkeyU64.exe"
  90. ; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
  91. if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
  92. return
  93. ; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
  94. else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
  95. {
  96. 预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
  97. 当前权限:=(A_IsAdmin=1) ? "管理员权限" : "普通权限"
  98. ErrorMessage=
  99. (LTrim
  100. 预期使用: %ANSI_U32_U64%
  101. 当前使用: %RunningEXE%
  102. 预期权限: %预期权限%
  103. 当前权限: %当前权限%
  104. 程序即将退出。
  105. )
  106. MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
  107. ExitApp
  108. }
  109. else
  110. {
  111. ; 获取 AutoHotkey.exe 的路径
  112. SplitPath, A_AhkPath, , Dir
  113. if (RunAsAdmin=0)
  114. {
  115. ; 强制普通权限运行
  116. switch, A_IsCompiled
  117. {
  118. ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
  119. ; 工作目录不用单独指定,默认使用 A_WorkingDir 。
  120. case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
  121. default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
  122. }
  123. }
  124. else
  125. {
  126. ; 强制管理员权限运行
  127. switch, A_IsCompiled
  128. {
  129. ; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
  130. ; 工作目录不用单独指定,默认使用 A_WorkingDir 。
  131. case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters%
  132. default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters%
  133. }
  134. }
  135. ExitApp
  136. }
  137. }
  138. ; 测试代码:(使用 Unicode32 版本并以管理员权限运行自身)
  139. ; RunWith("admin",32)
  140. ; 当前AHK版本 := (!A_IsUnicode) ? "ANSI" : (A_PtrSize=4) ? "Unicode 32" : "Unicode 64"
  141. ; 当前权限 := (A_IsAdmin=1) ? "管理员权限" : "普通权限"
  142. ; MsgBox, % "当前AHK版本: " 当前AHK版本 "`n`n当前权限: " 当前权限
  143. ExitApp
  144. /*
  145. 2024年8月7日
  146. Set objShell = CreateObject("Wscript.Shell")
  147. objshell.run "https://cn.bing.com/search?q=pcstory"
  148. WScript.quit
  149. Set objShell = CreateObject("Wscript.Shell")
  150. objshell.run "https://www.baidu.com/s?wd=pcstory"
  151. WScript.quit
  152. Set objShell = CreateObject("Wscript.Shell")
  153. objshell.run "https://cn.bing.com/search?q=蘑菇游戏下载器"
  154. WScript.quit
  155. Set objShell = CreateObject("Wscript.Shell")
  156. objshell.run "https://www.baidu.com/s?wd=蘑菇游戏下载器"
  157. WScript.quit
  158. Set objShell = CreateObject("Wscript.Shell")
  159. objshell.run "https://cn.bing.com/search?q=好司机下载器"
  160. WScript.quit
  161. Set objShell = CreateObject("Wscript.Shell")
  162. objshell.run "https://www.baidu.com/s?wd=好司机下载器"
  163. WScript.quit
  164. Set objShell = CreateObject("Wscript.Shell")
  165. objshell.run "https://cn.bing.com/search?q=haosiji"
  166. WScript.quit
  167. Set objShell = CreateObject("Wscript.Shell")
  168. objshell.run "https://www.baidu.com/s?wd=haosiji"
  169. WScript.quit
  170. */

 

 

; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
教程

对于后台执行鼠标操作的补充

2024-8-4 19:29:51

其他应用教程案例

注册无需窗口全局常用热键快捷键 2024年8月11日

2024-8-11 14:28:30

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
私信列表
搜索