今天重新编辑了按键精灵编辑的通过助赢软件推荐号码自动购买重庆SSC的脚本,通过昨天写的"按键精灵自动BC软件组织架构",对重庆SSC自动BC脚本有了更好的架构,整个脚本分为推荐软件、通用、循环体、浏览器、对话窗口几个部件,组建了可以通用的代码架构,方便于日后新换推荐号码的软件的编写。

SSC.png

这里放上使用助赢软件自动追2期的源代码,仅供参考:


本金 = 300					//最小值300,应为3的倍数
打法 = 2						//2就是打2期,3就是打三期
窗口名称 = "万法归宗"
对话窗口 = "QQ"				// QQ / 微信 
购彩金额 = "角"				// 元 / 角
//告知用户设置好的数据
TracePrint "本次软件启动后设置的可使用资金为:" & 本金
TracePrint "本次软件输出对话窗口方式为:" & 对话窗口 & ";名称为:" & 窗口名称
//************************************************************************************************************************************************************推荐软件
'推荐软件操作
'当前推荐软件为:助赢软件(注:保守打法:仅适用于2.3.4期稳定打,亏损有限,盈利较慢)
'[推荐软件操作] : 1.激活;2.推荐号转化为元素;3.获取当前追号期数;4.取消置顶(通用)
Function 推荐软件操作
    Call Plugin.Window.Top(推荐软件, 0)
    Delay 300
    '推荐号转化为元素
    Call 激活推荐软件
    Delay 300
    Call 复制推荐号码
    Delay 300
    Call 推荐值转化
    Delay 300
    Call 五星元素匹配
    Delay 300
    '获取当前追号期数
    Call 获取当前追号期数
    Delay 300
    Call Plugin.Window.Top(推荐软件, 1)
    Delay 300
End Function
'[激活推荐软件] : 激活并还原推荐软件,获取窗口大小(通用)
Function 激活推荐软件
    '1.激活并还原窗口
    Call Plugin.Window.Active(推荐软件)
    Delay 300
    Call Plugin.Window.Restore(推荐软件)
    Delay 300
    '2.下面这句是得到窗口句柄的客户区大小   
    sRect = Plugin.Window.GetClientRect(推荐软件)
    Delay 300
    dim MyArray   
    MyArray = Split(sRect, "|")   
    L = Clng(MyArray(0)): T = Clng(MyArray(1))   
    R = Clng(MyArray(2)) : B = Clng(MyArray(3))
    Delay 500
End Function
//----------------------------------------------------------
'[公式重选] : 1.激活软件;2.进行重选操作;3.修改计划周期
Function 公式重选
    TracePrint "[" & 当前时间 & "] 推荐软件_重选公式:定码万位"
    Call 激活推荐软件
    '1.点击关闭当前公式
    鼠标按下位置X = L + 354
    鼠标按下位置Y = T + 172
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftClick 1
    Delay 500
    '2.点击全部折叠
    鼠标按下位置X = L + 182
    鼠标按下位置Y = T + 170
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftClick 1
    Delay 500
    '3.点击展开定位胆系列
    鼠标按下位置X = L + 25
    鼠标按下位置Y = T + 193
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftClick 1
    Delay 500
    '4.点击万位定码
    鼠标按下位置X = L + 52
    鼠标按下位置Y = T + 219
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftClick 1
    Delay 3000
    '6.修改计划周期
    鼠标按下位置X = L + 515
    鼠标按下位置Y = T + 200
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 2000
    LeftClick 1
    Delay 300
    '5.判断打法
    If 打法 = 2 Then 
        KeyPress "BackSpace", 1
        Delay 300
        SayString "2"
        Delay 300
    ElseIf 打法 = 3 Then 
        KeyPress "BackSpace", 1
        Delay 300
        SayString "3"
        Delay 300
    ElseIf 打法 = 4 Then 
        KeyPress "BackSpace", 1
        Delay 300
        SayString "4"
        Delay 300
    End If
    Delay 300
    KeyPress "Enter", 1
    Delay 3000
End Function
//----------------------------------------------------------
//推荐软件_复制操作
'[复制开奖信息]
Function 复制开奖信息
    '复制开奖信息
    鼠标按下位置X = L + 125
    鼠标按下位置Y = T + 138
    鼠标弹起位置X = L + 569
    鼠标弹起位置Y = T + 138
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftDown 1
    Delay 300
    MoveTo 鼠标弹起位置X,鼠标弹起位置Y 
    LeftUp 1
    Delay 300
    KeyDown 17, 1
    KeyPress 67, 1
    KeyUp 17, 1
    Delay 300
    开奖信息 = Plugin.sys.GetCLB()
    Delay 300
End Function
'[复制推荐号码] : [当前推荐购买号码]
Function 复制推荐号码
    '移动鼠标到指定复制位置
    鼠标按下位置X = L + 960
    鼠标按下位置Y = T + 230
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftClick 1
    Delay 300
    当前推荐购买号码 = Plugin.sys.GetCLB()
    Delay 300
End Function
'[复制当前计划] 
Function 复制当前计划
    鼠标按下位置X = L + 213
    鼠标按下位置Y = T + 629
    鼠标弹起位置X = L + 492
    鼠标弹起位置Y = T + 668
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftDown 1
    Delay 300
    MoveTo 鼠标弹起位置X,鼠标弹起位置Y 
    LeftUp 1
    Delay 300
    KeyDown 17, 1
    KeyPress 67, 1
    KeyUp 17, 1
    Delay 300
    当前计划 = Plugin.sys.GetCLB()
    Delay 300
End Function
'[复制历史数据] 
Function 复制历史数据
    TracePrint  "["  & 当前时间 & "] 推荐软件_复制历史数据"
    鼠标按下位置X = L + 225
    鼠标按下位置Y = T + 231
    MoveTo 鼠标按下位置X, 鼠标按下位置Y
    Delay 500
    LeftClick 1
    Delay 500
    MoveTo 鼠标按下位置X + 20, 鼠标按下位置Y + 15
    Delay 500
    RightClick 1
    Delay 500
    MoveTo 鼠标按下位置X + 120, 鼠标按下位置Y + 50
    Delay 500
    LeftClick 1
    Delay 500
    历史预测信息 = Plugin.sys.GetCLB()
    Delay 300
End Function 
//----------------------------------------------------------
//推荐软件_转化
'[获取连对次数] : [当前连对数量]  [本局连对次数] : 1.激活推荐软件;2.复制当前计划;3.得到当前连对句子;4.得到当前数量;5.得到本局连对次数(要求该函数前运行“获取初始连对次数”)
Function 获取连对次数
	Call 激活推荐软件
    Call Plugin.Window.Top(浏览器, 1)
    Call Plugin.Window.Min(浏览器) 
    '1.复制当前计划状态
    鼠标按下位置X = L + 214
    鼠标按下位置Y = T + 650
    鼠标弹起位置X = L + 900
    鼠标弹起位置Y = T + 650
    MoveTo 鼠标按下位置X,鼠标按下位置Y 
    Delay 300
    LeftDown 1
    Delay 300
    MoveTo 鼠标弹起位置X,鼠标弹起位置Y 
    LeftUp 1
    Delay 300
    KeyDown 17, 1
    KeyPress 67, 1
    KeyUp 17, 1
    Delay 300
    当前计划状态 = Plugin.sys.GetCLB()
    TracePrint 当前计划状态
    '2.分割当前计划状态
    dim 当前计划状态数组   
    当前计划状态数组 = Split(当前计划状态, ",")   
    当前连对 = 当前计划状态数组(4)
    Delay 300
    '3.得到当前连对数量
    当前连对 =  Replace(当前连对, "当前连对", "")
    当前连对数量 =  Replace(当前连对, "个", "")
    '4.得到本局连对次数
    本局连对次数 = 当前连对数量 - 初始连对次数
    Delay 300
    Call Plugin.Window.Min(推荐软件)
    TracePrint "本局连对次数:" & 本局连对次数
    Delay 300
End Function
'[获取初始连对次数] : [获取初始连对次数]  [预设连对终止]
Function 获取初始连对次数
    Call 获取连对次数
    '1.得到初始连对次数
    初始连对次数 = 当前连对数量
    '2.预设连对终止次数
    If 打法 = 2 Then //连赢4把
        预设连对终止 = 初始连对次数 + 3
    ElseIf 打法 = 3 Then 
        预设连对终止 = 初始连对次数 + 6
    ElseIf 打法 = 4 Then 
        预设连对终止 = 初始连对次数 + 9
    End If
    TracePrint "["  & 当前时间 & "] 当前连对:" & 初始连对次数 &  " ; 预设终止数量为:" & 预设连对终止
    Delay 500	
End Function
'[获取当前追号期数] : [当前追号期数]
Function 获取当前追号期数
    Call 激活推荐软件
    Delay 300
    Call 复制当前计划
    Delay 300
    '获取当前追号期数 
    当前追号期数 = Right(当前计划, 2)
    TracePrint "当前追号期数为:" & 当前追号期数
    Delay 300
End Function
//----------------------------------------------------------
'[追号期数转化数组_冲锋(当前追号期数)]
Function 追号期数转化数组_冲锋(当前追号期数)
    TracePrint  "["  & 当前时间 & "] 数据转化_追号期数转化数组_1/3/6/12"
    If 当前追号期数 = "1期" Then 
        倍数 = 1
    ElseIf 当前追号期数 = "2期" Then
        倍数 = 3
    ElseIf 当前追号期数 = "3期" Then
        倍数 = 6
    ElseIf 当前追号期数 = "4期" Then
        倍数 = 12
    End If
    上局追号期数 = 当前追号期数
    TracePrint "选择了倍数:" & 倍数
End Function
'[追号期数转化数组_常规(当前追号期数)]
Function 追号期数转化数组_常规(当前追号期数)
    TracePrint  "["  & 当前时间 & "] 数据转化_追号期数转化数组_1/2/4/8"
    If 当前追号期数 = "1期" Then 
        倍数 = 1
    ElseIf 当前追号期数 = "2期" Then
        倍数 = 2
    ElseIf 当前追号期数 = "3期" Then
        倍数 = 4
    ElseIf 当前追号期数 = "4期" Then
        倍数 = 8
    End If
    上局追号期数 = 当前追号期数
End Function
//************************************************************************************************************************************************************推荐软件
//==========================================================================================================================通用
'下面是通用函数对
Function 当前时间
    当前时间 = Plugin.Sys.GetDateTime() & " "
End Function
Function 查找并绑定窗口句柄
    TracePrint "[" & 当前时间 & "] 查找并绑定各级窗口句柄"
    '1.绑定推荐软件
    推荐软件 = Plugin.Window.Find(0, "重庆SSC")
    Delay 300
    '2.绑定浏览器
    浏览器 = Plugin.Window.Find(0, "- 重庆SSC - 彩票系统 - Google Chrome")
    Delay 300
    '3.绑定微信
    微信 = Plugin.Window.Find("ChatWnd", 窗口名称)
    Delay 300
    '4.绑定QQ
    QQ = Plugin.Window.Find("TXGuiFoundation", 窗口名称)
    Delay 300	
End Function
//----------------------------------------------------------
'运行以下代码需要获取:【当前推荐购买号码 】;以下代码将推荐的号码转换成可点击的网页元素代码 
'[推荐值转化] : [上局推荐购买号码] (通用)
Function 推荐值转化
    dim 推荐购买数组   
    推荐购买数组 = Split(当前推荐购买号码, " ")   
    推荐购买一 = Clng(推荐购买数组(0))
    推荐购买二 = Clng(推荐购买数组(1))
    推荐购买三 = Clng(推荐购买数组(2))
    推荐购买四 = Clng(推荐购买数组(3))
    推荐购买五 = Clng(推荐购买数组(4))
    Delay 300
    上局推荐购买号码 = 当前推荐购买号码
End Function
'[五星元素匹配] (通用)
Function 五星元素匹配
    '万位元素
    万零 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(1) > a"
    万一 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(2) > a"
    万二 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(3) > a"
    万三 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(4) > a"
    万四 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(5) > a"
    万五 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(6) > a"
    万六 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(7) > a" 
    万七 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(8) > a" 
    万八 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(9) > a" 
    万九 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(1) > div.sumBtn_left > div > span:nth-child(10) > a"
    '千位元素
    千零 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(1) > a"
    千一 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(2) > a"
    千二 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(3) > a"
    千三 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(4) > a"
    千四 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(5) > a"
    千五 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(6) > a"
    千六 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(7) > a" 
    千七 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(8) > a" 
    千八 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(9) > a" 
    千九 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(2) > div.sumBtn_left > div > span:nth-child(10) > a"
    '百位元素
    百零 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(1) > a"
    百一 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(2) > a"
    百二 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(3) > a"
    百三 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(4) > a"
    百四 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(5) > a"
    百五 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(6) > a"
    百六 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(7) > a" 
    百七 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(8) > a" 
    百八 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(9) > a" 
    百九 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(3) > div.sumBtn_left > div > span:nth-child(10) > a"
    '十位元素
    十零 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(1) > a"
    十一 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(2) > a"
    十二 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(3) > a"
    十三 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(4) > a"
    十四 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(5) > a"
    十五 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(6) > a"
    十六 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(7) > a" 
    十七 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(8) > a" 
    十八 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(9) > a" 
    十九 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(4) > div.sumBtn_left > div > span:nth-child(10) > a"
    '个位元素
    个零 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(1) > a"
    个一 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(2) > a"
    个二 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(3) > a"
    个三 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(5) > a"
    个四 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(5) > a"
    个五 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(6) > a"
    个六 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(7) > a" 
    个七 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(8) > a" 
    个八 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(9) > a" 
    个九 = "#PLAY-CONTAINER > div.sumBtn_box > div > div > div:nth-child(5) > div.sumBtn_left > div > span:nth-child(10) > a"
End Function
'[推荐购买匹配()] (通用)
Function 推荐购买匹配(推荐购买)
    Call 五星元素匹配
    If 推荐购买 = 0 Then 
        元素 = 万零
    ElseIf 推荐购买 = 1 Then
        元素 = 万一
    ElseIf 推荐购买 = 2 Then
        元素 = 万二
    ElseIf 推荐购买 = 3 Then
        元素 = 万三
    ElseIf 推荐购买 = 4 Then
        元素 = 万四
    ElseIf 推荐购买 = 5 Then
        元素 = 万五
    ElseIf 推荐购买 = 6 Then
        元素 = 万六
    ElseIf 推荐购买 = 7 Then
        元素 = 万七
    ElseIf 推荐购买 = 8 Then
        元素 = 万八
    ElseIf 推荐购买 = 9 Then
        元素 = 万九
    End If
End Function
//==========================================================================================================================循环体
'[判断是否中止] : 本金为0则终止
Function 判断是否中止
    Call 计算可以使用资金
    If 可以使用资金 <= 0 Then 
        '如果可以使用的资金小于0,则停止
        TracePrint "[" & 当前时间 & "] 已经输光了本金[" & 本金 & "]元,当前盈利[" & 差额 & "]元,程序终止!"
        ExitScript 
    Else 
        '继续运行
        TracePrint "[" & 当前时间 & "] 当前可以使用的资金为:[" & 可以使用资金 & ",], 盈利[" & 差额 & "]元,请再接再厉!"
        Delay 300
    End If
End Function
'[判断是否换公式] : 出现1挂或达到预设连对次数更换公式
Function 判断是否换公式
    Call 获取连对次数
    If 当前连对数量 = 0 Then 
        TracePrint "[" & 当前时间 & "] 当前这一局公式没赢到10局就挂了!当前连胜" & 本局连对次数
        Call 公式重选
        Call 获取初始连对次数
    ElseIf 当前连对数量 = 预设连对终止 Then
        TracePrint "当前连对数量:" & 当前连对数量
        TracePrint "预设连对终止:" & 预设连对终止	 
        '如果当前公式连续对了10个,则换公式
        TracePrint "[" & 当前时间 & "] 当前这一局公式连胜" & 当前连对数量 & "局,现在开始换一种公式!"
        Call 公式重选
        Call 获取初始连对次数
    Else 
        '不换公式
        TracePrint "[" & 当前时间 & "] 不需要换公式!本局连对次数为:" & 本局连对次数
        Delay 100
    End If
End Function
'[一期判断] : 如果当前为1期则判断程序是否中止、是否更换公式并计算基数
Function 一期判断
    Call 获取当前追号期数
    If 当前追号期数 = "1期" Then 
        Call 判断是否中止
        Delay 300
        Call 判断是否换公式
        Delay 300
        Call 计算基数
        Delay 300
    End If	
End Function
//----------------------------------------------------------
'循环体_循环
'[核心循环] : 通过判断当前开奖期号判断是否需要进行购彩操作
Function 核心循环
    Do
        上局期号 = 当前期号
        Do
            '如果是新的一期则开始投注操作
            If 上局期号 <> 当前期号 Then 
                Call 一期判断
                TracePrint  "[" + 当前时间 + "]当前期号不等于上局期号"
                TracePrint "上局" + 上局期号
                TracePrint "当前" + 当前期号
                上局期号 = 当前期号
                Delay 300
                Call 自动操作
                Exit Do 
            End If
            '如果期号一致则继续循环
            Delay 1000
            TracePrint "[" + 当前时间 + "]期号一致,刷新页面后继续循环"
            '获取最新开奖数据
            Call 浏览器刷新
            Delay 300
            Call 激活推荐软件
            Call 复制开奖信息
            当前期号 = Left(开奖信息, 15)
            TracePrint "[" + 当前时间 + "]当前" + 当前期号
            '每次循环有30秒钟间隔
            For i = 30 To 0 Step -1
                TracePrint i
                Delay 1000
            Next
        Loop
    Loop
End Function
//----------------------------------------------------------
'循环体_操作
'[自动操作]
Function 自动操作
    '0.预先准备
    Call 激活推荐软件
    Call 复制开奖信息
    上局开奖信息 = "上局开奖信息为:[" & 开奖信息 & "]" 
    上局投注信息 = "上局投注信息为:[" & 上局推荐购买号码 & "],上局追号期数为[" & 上局追号期数 & "]"
    '1.推荐软件操作
    Call 推荐软件操作
    '2.浏览器操作
    Call 浏览器操作
    '3.对话窗口操作
    If 对话窗口 = "QQ" Then 
        Call QQ操作
    ElseIf 对话窗口 = "微信" Then
        Call 微信操作
    End If
End Function
//==========================================================================================================================浏览器
'浏览器操作
'[浏览器操作] : 1.激活、置顶、最大化;2.定位胆、选号、选倍数、选金额、购彩;3.除错、取消置顶
Function 浏览器操作
    'header
    Call Plugin.Window.Active(浏览器)
    Delay 300
    Call Plugin.Window.Top(浏览器, 0)
    Delay 300
    Call Plugin.Window.Max(浏览器)
    Delay 300
    '键入ESC浏览器除错
    Call LibE.神梦_智能填表.元素_点击("/html/body/div[6]/div/table/tbody/tr[3]/td/div[2]/button")
    Delay 300
    '读取当前余额
    当前余额 = LibE.神梦_智能填表.元素_取属性值("title", "//*[@id='AvailableBalance']")
    '点击定位胆
    Call LibE.神梦_智能填表.元素_点击("//*[@id='PLAY-CONTAINER']/div[1]/div[1]/a[8]")
    TracePrint "点击选择定位胆完毕"
    '1.选号
    Call 选号
    '2.选择倍数
    Call 计算倍数
    Call LibE.神梦_智能填表.元素_置输入框(购买倍数, "//*[@id='PLAY-CONTAINER']/div[5]/div/div[1]/div[1]/input")
    Delay 300
    TracePrint "当前输入倍数成功"
    '判断投注购彩金额:元/角
    Call 判断购彩金额
    Delay 500
    '3.点击立即购买
    Call LibE.神梦_智能填表.元素_点击("#PLAY-CONTAINER > div.betNum-btn.row_btm.clear > a.btn.confirm-btn.activate1")
    Delay 2000
    Call LibE.神梦_智能填表.元素_点击("/html/body/div[6]/div/table/tbody/tr[3]/td/div[2]/button")
    Delay 300
    '键入ESC浏览器除错
    Call Plugin.Bkgnd.KeyPress(浏览器, 27)
    Delay 200
    'c.取消浏览器置顶
    Call LibE.神梦_智能填表.网页_是否就绪(20)
    Call Plugin.Window.Top(浏览器, 1)
    Delay 300
End Function
//-----------------------------------------------------------------------------------------------
//浏览器_计算
'浏览器_计算
'[计算备用资金] : [开局余额]  [备用资金]
Function 计算备用资金
    '注:只能在查找并绑定窗口句柄使用本函数
    开局余额 = LibE.神梦_智能填表.元素_取属性值("title", "//*[@id='AvailableBalance']")
    TracePrint "开局余额为:" & 开局余额
    备用资金 = 开局余额 - 本金
    TracePrint "备用资金为:" & 备用资金
End Function
'[计算可以使用资金] : [上局余额]  [可以使用资金]  [差额]
Function 计算可以使用资金
    '注:在获取当前余额后使用本函数
    '读取当前余额
    当前余额 = LibE.神梦_智能填表.元素_取属性值("title", "//*[@id='AvailableBalance']")
    '得到上局余额
    上局余额 = 当前余额
    Delay 300
    '得到差额
    差额 = 当前余额 - 开局余额
    Delay 300
    If 差额 = 0 Then 
        可以使用资金 = 本金
    ElseIf 差额 < 0 Then
        可以使用资金 = 差额 + 本金
    Else 
        可以使用资金 = 当前余额 - 备用资金
    End If
End Function
'[计算基数] : [基数]
Function 计算基数
    Call 计算可以使用资金
    '计算可以使用资金后可以使用该函数
    TracePrint "当前可以使用资金" & 可以使用资金
    If 可以使用资金 <= 本金 * 3 Then 
        基数 = Int((可以使用资金) / 300)
        TracePrint 基数
    Else 
        基数 = Int((可以使用资金 - 本金) / 200)
        TracePrint 基数     
    End If
    '设置当前基数最小为一,即本金发生亏损的情况下,投注基数保持不变
    If 差额 < 0 Then 
        基数 = Int((本金) / 300)
    End If
End Function
'[计算倍数] : [倍数]  [购买倍数]
Function 计算倍数
    Call 获取连对次数
    If 本局连对次数 < 7 Then 
        '如果连对次数小于7次则冲锋
        Call 追号期数转化数组_冲锋(当前追号期数)
    Else 
        '如果连对次数大于7次则常规
        Call 追号期数转化数组_常规(当前追号期数)
    End If
    If 本局连对次数 = 0 Then 
        倍数 = 1
    End If
    '输出购买倍数
    购买倍数 = 基数 * 倍数
    TracePrint "基数:" & 基数
    TracePrint "倍数:" & 倍数
    TracePrint "购买倍数:" & 购买倍数
End Function
//-----------------------------------------------------------------------------------------------
'浏览器_操作
'[选号] : 依次点击号码
Function 选号
    TracePrint "[" & 当前时间 & "] 网页操作_开始购买: " & 当前推荐购买号码
    '网页陆续点击选择好的推荐号码
    Call 推荐购买匹配(推荐购买一)
    Call LibE.神梦_智能填表.元素_点击(元素)
    Call 推荐购买匹配(推荐购买二)
    Call LibE.神梦_智能填表.元素_点击(元素)
    Call 推荐购买匹配(推荐购买三)
    Call LibE.神梦_智能填表.元素_点击(元素)
    Call 推荐购买匹配(推荐购买四)
    Call LibE.神梦_智能填表.元素_点击(元素)
    Call 推荐购买匹配(推荐购买五)
    Call LibE.神梦_智能填表.元素_点击(元素)
    TracePrint "[" & 当前时间 & "] 点选号码完毕"
End Function
'[判断购彩金额] : 判断投注购彩金额:元/角
Function 判断购彩金额
    If 购彩金额 = "角" Then 
        Call LibE.神梦_智能填表.元素_点击("#PLAY-CONTAINER > div.betNum-btn.row_btm.clear > div > div.amount-box > div.unit-box.select-box")
        Delay 300
        Call LibE.神梦_智能填表.元素_执行事件("mouseover", "//*[@id='MoneyModel']/li[2]/a")
        Delay 300
        Call LibE.神梦_智能填表.元素_执行事件("click", "//*[@id='MoneyModel']/li[2]/a")
        Delay 300
        TracePrint "当前购买的金额是:[" & 10 * 购买倍数 & "]角"
    Else 
        TracePrint "当前购买的金额是:[" & 10 * 购买倍数 & "]元"
        Delay 300
    End If
End Function
'[浏览器刷新] : 激活浏览器后,点击刷新余额
Function 浏览器刷新
    Call Plugin.Window.Active(浏览器)
    Delay 300
    Call Plugin.Window.Max(浏览器)
    Delay 300
    '点击当前余额
    Call LibE.神梦_智能填表.元素_点击("//*[@id='AvailableBalance']")
    Call Plugin.Window.Min(浏览器)
    Delay 888
End Function
//==========================================================================================================================对话窗口
Function 微信操作
    当前信息 = "当前购买的号码为:[" & 当前推荐购买号码 & "],当前追号期数为[" & 当前追号期数 & "],当前购买的倍数为[" & 购买倍数 & "]倍,投注金额为[" & 10 * 购买倍数 & "]元"
    本局信息 = "当前连对:" & 初始连对次数 &  " ,预设终止数量为:" & 预设连对终止 & ",本局连对次数为:" & 本局连对次数
    余额信息 = "上局余额为[" & 上局余额 & "]元,当前账号余额为[" & 当前余额 & "]元,可以使用资金为[" & 可以使用资金 & "]元,当前盈利[" & 差额 & "]元"
    当前盈利 = "当前盈利[" & 差额 & "]元"
    TracePrint 当前信息
    '1.调整微信窗口句柄并[调整大小][激活][置顶]
    Call Plugin.Window.Active(微信)
    Delay 300
    Call Plugin.Window.SetClientSize(微信, 100, 100)
    Delay 300
    Call Plugin.Window.Top(微信, 0)
    Delay 300
    '2.打开浏览器并点击截图
    '最大化浏览器
    Call Plugin.Window.Active(浏览器)
    Delay 300
    Call Plugin.Window.Top(浏览器, 0)
    Delay 300
    Call Plugin.Window.Max(浏览器)
    Delay 300
    Call Plugin.Window.Active(微信)
    Delay 500  
    Call Plugin.Bkgnd.LeftClick(微信, 95, 250) 
    Delay 500 
    MoveTo 100, 100
    Delay 500
    LeftClick 1
    Delay 500
    MoveTo 0, 0
    Delay 500
    LeftClick 1
    Delay 500
    KeyPress "Enter", 1
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13) 
    Delay 500
    '最小化浏览器
    Call Plugin.Window.Top(浏览器, 0)
    Delay 300
    Call Plugin.Window.Min(浏览器)
    Delay 300
    '3.发送消息
    Call Plugin.Bkgnd.SendString(微信, 上局开奖信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(微信, 上局投注信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(微信, 当前信息)
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13) 
    Delay 500
    Call Plugin.Bkgnd.SendString(微信, 本局信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13)
    Delay 50
    Call Plugin.Bkgnd.SendString(微信, 余额信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(微信, 当前盈利) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(微信, 13)
    Delay 500
    'footer
    'a.处理微信窗口句柄[取消置顶][最小化]
    Call Plugin.Window.Top(微信, 1)
    Delay 300
    Call Plugin.Window.Min(微信)
    Delay 300
    'b.处理浏览器窗口句柄
    Call Plugin.Window.Min(浏览器)
    Delay 300
End Function
Function QQ操作
    当前信息 = "当前购买的号码为:[" & 当前推荐购买号码 & "],当前追号期数为[" & 当前追号期数 & "],当前购买的倍数为[" & 购买倍数 & "]倍,投注金额为[" & 10 * 购买倍数 & "]元"
    本局信息 = "当前连对:" & 初始连对次数 &  " ,预设终止数量为:" & 预设连对终止 & ",本局连对次数为:" & 本局连对次数
    余额信息 = "上局余额为[" & 上局余额 & "]元,当前账号余额为[" & 当前余额 & "]元,可以使用资金为[" & 可以使用资金 & "]元,当前盈利[" & 差额 & "]元"
    当前盈利 = "当前盈利[" & 差额 & "]元"
    TracePrint 当前信息
    '1.调整QQ窗口句柄并[调整大小][激活][置顶]
    Call Plugin.Window.Active(QQ)
    Delay 300
    Call Plugin.Window.SetClientSize(QQ, 500, 500)
    Delay 300
    Call Plugin.Window.Top(QQ, 0)
    Delay 300
    '最大化浏览器
    Call Plugin.Window.Active(浏览器)
    Delay 300
    Call Plugin.Window.Top(浏览器, 0)
    Delay 300
    Call Plugin.Window.Max(浏览器)
    Delay 300
    '2.打开浏览器并点击截图
    Call Plugin.Window.Active(QQ)
    Delay 500  
    Call Plugin.Bkgnd.LeftClick(QQ, 175, 385) 
    Delay 500 
    MoveTo 100, 100
    Delay 500
    LeftClick 1
    Delay 500
    MoveTo 0, 0
    Delay 500
    LeftClick 1
    Delay 500
    KeyPress "Enter", 1
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13) 
    Delay 500
    '最小化浏览器
    Call Plugin.Window.Top(浏览器, 0)
    Delay 300
    Call Plugin.Window.Min(浏览器)
    Delay 300
    '3.发送消息
    Call Plugin.Bkgnd.SendString(QQ, 上局开奖信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(QQ, 上局投注信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(QQ, 当前信息)
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13) 
    Delay 500
    Call Plugin.Bkgnd.SendString(QQ, 本局信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13)
    Delay 50
    Call Plugin.Bkgnd.SendString(QQ, 余额信息) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13)
    Delay 500
    Call Plugin.Bkgnd.SendString(QQ, 当前盈利) 
    Delay 500
    Call Plugin.Bkgnd.KeyPress(QQ, 13)
    Delay 500
    'footer
    'a.处理QQ窗口句柄[取消置顶][最小化]
    Call Plugin.Window.Top(QQ, 1)
    Delay 300
    Call Plugin.Window.Min(QQ)
    Delay 300
    'b.处理浏览器窗口句柄
    Call Plugin.Window.Min(浏览器)
    Delay 300
End Function
//开始进行自动购买操作
If LibE.神梦_智能填表._初始化("", "") = False  Then 
    MsgBox "出错,智能填表初始化失败!", 1 + 16 + 4096, "警告!"
    ExitScript 
End If
//启动谷歌浏览器
If LibE.神梦_智能填表.绑定("Chrome.exe") Then 
    '打开购彩网页(利鑫彩票)
    Call LibE.神梦_智能填表.网页_跳转("https://www.99551277.com/Lobby/Lottery")
    TracePrint "请在60秒内输入帐号密码验证码登录,请打开利鑫彩票主页!"
    For i = 40 To 0 Step -1
        TracePrint i
        Delay 1000
    Next
    TracePrint "现在程序继续往下执行!"
    Call LibE.神梦_智能填表.网页_标签新建("http://gpkapiqt.ying036.com/OffcialOtherGame/Index/26")
    For i = 25 To 0 Step -1
        TracePrint i
        Delay 1000
    Next
    '软件初始化:1.绑定窗口;2.公式重选;3.获取初始资金;4.计算备用资金;
    Call 查找并绑定窗口句柄
    Call 公式重选
    Call 获取初始连对次数
    Call 计算备用资金
    Call 计算基数
    '绑定的投注网页再次确认
    TracePrint LibE.神梦_智能填表.网页_取网址()
    Delay 300
    TracePrint LibE.神梦_智能填表.网页_取标题()
    Delay 300
    Call 核心循环
Else 
    MsgBox "出错,绑定浏览器失败!", 1 + 16 + 4096, "警告!"
    ExitScript 
End If
//把这个代码放到脚本末尾,避免按键精灵奔溃
Sub OnScriptExit()
    Call LibE.神梦_智能填表._销毁()
End Sub
Sub OnThreadExit()
    Call LibE.神梦_智能填表._销毁()
End Sub