1. 注释:允许启动次数,自行修改
  2. 令 允许脚本启动次数 = 5
  3. 注释:定义环境变量
  4. 定义环境变量 是否启动
  5. 定义变量 本次启动, 启动窗口, 游戏原来标题, 绑定了窗口, 本次启动次数
  6. 令 本次启动 = "启动不成功"
  7. 如果 是否启动 <> "已启动" 则
  8.     令 是否启动 = "已启动"
  9.     令 启动窗口 = Window.Foreground()
  10.     令 本次启动窗口 = 启动窗口
  11.     令 游戏原来标题 = Window.GetText(启动窗口)
  12.     令 启动的游戏窗口句柄 = 启动窗口
  13.     令 启动次数 = 1
  14.     令 本次启动次数 = 启动次数
  15.     调用 Window.SetText(启动窗口,"第" & 启动次数 & "次启动,句柄:" & 启动窗口)
  16.     令 本次启动 = "启动成功"
  17. 否则
  18.     如果 启动次数 >= 允许脚本启动次数 则
  19.         MsgBox("已经启动了" & 允许脚本启动次数 & "次脚本,不能再启动")
  20.         ExitScript()
  21.     否则
  22.         注释:记录已启动窗口句柄,防止重复在一个游戏窗口启动
  23.         令 启动窗口 = Window.Foreground()
  24.         令 游戏原来标题 = Window.GetText(启动窗口)
  25.         如果 InStr(启动的游戏窗口句柄,启动窗口) > 0 则
  26.             MsgBox("该游戏窗口已经启动过脚本,请不要重复在一个游戏窗口启动")
  27.             ExitScript()
  28.         否则
  29.             令 本次启动窗口 = 启动窗口
  30.             令 启动的游戏窗口句柄 = 启动的游戏窗口句柄 & "|" & 启动窗口
  31.             令 本次启动 = "启动成功"
  32.             令 启动次数 = 启动次数 + 1
  33.             令 本次启动次数 = 启动次数
  34.             调用 Window.SetText(启动窗口,"第" & 启动次数 & "次启动,句柄:" & 启动窗口)
  35.         条件结束
  36.     条件结束
  37. 条件结束
  38. 注释:启动子线程单停检测是否按了停止键
  39. (语句无法识别,可能有错误): BeginThread 单停(本次启动窗口)
  40. 注释:〓〓〓〓↑以上加入到脚本的最前面〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
  41. 注释:〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓一下为脚本代码〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
  42. 循环当 1 时
  43.     调用 Bkgnd.SendString(启动窗口,"内容")
  44.     延时 500 毫秒
  45. 循环结束
  46. 注释:〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓下面的放脚本最后面就可以〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
  47. 注释:单停子线程
  48. 子程序 单停(要停止窗口句柄)
  49.     注释:设置停止键码,我这里使用的是END键,可以自己修改为别的键码
  50.     令 停止按键码 = 35
  51.     循环当 1 时
  52.         注释:检测上次按的键为停止键,并且活动窗口为本次启动的窗口,则停止脚本
  53.         如果 (键盘)检测上次按键 = 停止按键码 并且 Window.Foreground() = 要停止窗口句柄 则
  54.             ExitScript()
  55.         条件结束
  56.         注释:检测间隔,根据需要修改
  57.         延时 1000 毫秒
  58.     循环结束
  59. 子程序结束
  60. 注释:停止事件子程序OnScriptExit增加和减少多开次数
  61. 子程序 OnScriptExit()
  62.     注释:加入停止延迟防止多开一次停止全部时启动次数计算错误
  63.     延时 10 * 本次启动次数 毫秒
  64.     如果 本次启动 = "启动成功" 则
  65.         令 启动次数 = 启动次数 - 1
  66.         如果 启动次数 = 0 则
  67.             令 是否启动 = "未启动"
  68.             令 启动的游戏窗口句柄 = ""
  69.         否则
  70.             令 启动的游戏窗口句柄 = Replace(启动的游戏窗口句柄,启动窗口 & "|","")
  71.             令 启动的游戏窗口句柄 = Replace(启动的游戏窗口句柄,"|" & 启动窗口,"")
  72.         条件结束
  73.         注释:判断窗口是否存在
  74.         令 sWindow = Window.IsWindow(启动窗口)
  75.         如果 sWindow = 1 则
  76.             调用 Window.SetText(启动窗口,游戏原来标题)
  77.         条件结束
  78.     条件结束
  79. 子程序结束