使用重复运行多开(限制启动次数和单个停止方法)

使用重复运行多开(限制启动次数和单个停止方法 

给新手学习,老鸟请绕路 

本方法是使用重复运行的方法多开,限制用户的启动次数,以及多开时停止单个窗口的方法, 

运行环境:分辨率:1440×900 色深:32位 操作系统:Microsoft Windows XP 按键精灵版本:9.21.10865

@javi1983    2012/6/11

//允许启动次数,自行修改  
允许脚本启动次数 = 5  
'定义环境变量  
Dimenv 是否启动, 启动次数, 启动的游戏窗口句柄, 本次启动窗口  
Dim 本次启动, 启动窗口, 游戏原来标题, 绑定了窗口, 本次启动次数  
本次启动 = "启动不成功"  
If 是否启动 <> "已启动" Then   
    是否启动 = "已启动"  
    启动窗口 = Plugin.Window.Foreground()  
    本次启动窗口 = 启动窗口  
    游戏原来标题 = Plugin.Window.GetText(启动窗口)  
    启动的游戏窗口句柄 = 启动窗口  
    启动次数 = 1  
    本次启动次数 = 启动次数  
    Call Plugin.Window.SetText(启动窗口, "第" & 启动次数 & "次启动,句柄:" & 启动窗口)  
    本次启动 = "启动成功"  
Else  
    If 启动次数 >= 允许脚本启动次数 Then  
        MsgBox "已经启动了" & 允许脚本启动次数 & "次脚本,不能再启动"  
        ExitScript  
    Else  
        '记录已启动窗口句柄,防止重复在一个游戏窗口启动  
        启动窗口 = Plugin.Window.Foreground()  
        游戏原来标题 = Plugin.Window.GetText(启动窗口)  
        If InStr(启动的游戏窗口句柄, 启动窗口) > 0 Then  
            MsgBox "该游戏窗口已经启动过脚本,请不要重复在一个游戏窗口启动"  
            ExitScript  
        Else  
            本次启动窗口 = 启动窗口  
            启动的游戏窗口句柄 = 启动的游戏窗口句柄 & "|" & 启动窗口  
            本次启动 = "启动成功"  
            启动次数 = 启动次数 + 1  
            本次启动次数 = 启动次数  
            Call Plugin.Window.SetText(启动窗口, "第" & 启动次数 & "次启动,句柄:" & 启动窗口)  
        End If  
    End If  
End If  
'启动子线程单停检测是否按了停止键  
BeginThread 单停(本次启动窗口)  
'〓〓〓〓↑以上加入到脚本的最前面〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓  
  
'〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓一下为脚本代码〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓  
While 1  
    Call Plugin.Bkgnd.SendString(启动窗口, "内容")  
    Delay 500  
Wend  
'〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓下面的放脚本最后面就可以〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓  
'单停子线程  
Sub 单停(要停止窗口句柄)  
    '设置停止键码,我这里使用的是END键,可以自己修改为别的键码  
    停止按键码 = 35  
    While 1  
        '检测上次按的键为停止键,并且活动窗口为本次启动的窗口,则停止脚本  
        If GetLastKey() = 停止按键码 and Plugin.Window.Foreground() = 要停止窗口句柄 Then ExitScript   
        '检测间隔,根据需要修改  
        Delay 1000  
    Wend  
End Sub  
'停止事件子程序OnScriptExit增加和减少多开次数  
Sub OnScriptExit()  
    '加入停止延迟防止多开一次停止全部时启动次数计算错误  
    Delay 10 * 本次启动次数  
    If 本次启动 = "启动成功" Then   
        启动次数 = 启动次数 - 1  
        If 启动次数 = 0 Then   
            是否启动 = "未启动"  
            启动的游戏窗口句柄 = ""  
        Else  
            启动的游戏窗口句柄 = Replace(启动的游戏窗口句柄, 启动窗口 & "|", "")  
            启动的游戏窗口句柄 = Replace(启动的游戏窗口句柄, "|" & 启动窗口, "")  
        End If  
        '判断窗口是否存在  
        sWindow = Plugin.Window.IsWindow(启动窗口)  
        If sWindow = 1 Then   
            Call Plugin.Window.SetText(启动窗口, 游戏原来标题)  
        End If  
    End If  
End Sub
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

使用重复运行多开(限制启动次数和单个停止方法)》有27个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注