|
5精币
.版本 2
.支持库 大漠插件中文版
.支持库 eAPI
.支持库 spec
.支持库 EThread
.程序集 窗口程序集1
.程序集变量 大漠, 大漠
.子程序 __启动窗口_创建完毕
.如果真 (文件是否存在 (取运行目录 () + “\上次设置.ini”))
模拟器路径.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “模拟器路径”, ))
官方包路径.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “官方包路径”, ))
TX包路径.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “TX包路径”, ))
游戏个数.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “游戏个数”, ))
大区名字.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “大区名字”, ))
组合框1.现行选中项 = 到整数 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “组合框1”, ))
账号路径.内容 = 到文本 (读配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “账号路径”, ))
.如果真结束
设置进度.位置 = 0
登录提示.清空 ()
.子程序 _BUG反馈_被单击
打开指定网址 (“http://user.qzone.qq.com/1756108001/334”)
.子程序 _组合框1_列表项被选择
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “账号路径”, 到文本 (组合框1.现行选中项))
.如果真 (组合框1.现行选中项 = 0)
登录提示.删除项目 (0)
登录提示.加入项目 (“你选择的版本是 ” + 组合框1.内容, 0)
设置进度.位置 = 1
.如果真结束
.如果真 (组合框1.现行选中项 = 1)
信息框 (“未采集信息”, 0, )
.如果真结束
.子程序 _账号路径_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “账号路径”, 账号路径.内容)
设置进度.位置 = 5
登录提示.删除项目 (6)
登录提示.加入项目 (“你填写的账号路径是 ” + 账号路径.内容, 6)
.子程序 _大区名字_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “大区名字”, 大区名字.内容)
设置进度.位置 = 2
登录提示.删除项目 (1)
登录提示.加入项目 (“你填写的大区是 ” + 大区名字.内容, 1)
.子程序 _TX包路径_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “TX包路径”, TX包路径.内容)
设置进度.位置 = 3
登录提示.删除项目 (2)
登录提示.加入项目 (“你填写的TX包路径是 ” + TX包路径.内容, 2)
.子程序 _官方包路径_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “官方包路径”, 官方包路径.内容)
设置进度.位置 = 3
登录提示.删除项目 (3)
登录提示.加入项目 (“你填写的官方版路径是 ” + 官方包路径.内容, 3)
.子程序 _模拟器路径_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “模拟器路径”, 模拟器路径.内容)
设置进度.位置 = 4
登录提示.删除项目 (4)
登录提示.加入项目 (“你填写的模拟器路径是 ” + 模拟器路径.内容, 4)
.子程序 _游戏个数_内容被改变
写配置项 (取运行目录 () + “\上次设置.ini”, “配置”, “游戏个数”, 游戏个数.内容)
设置进度.位置 = 5
登录提示.删除项目 (5)
登录提示.加入项目 (“你填写次数是 ” + 游戏个数.内容, 5)
.子程序 _开启_被单击
.局部变量 游戏包, 文本型
.局部变量 打酱油窗口, 文本型
.局部变量 分解后的窗口, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 欲写到内存的数值, 字节集, , "0"
.局部变量 画面窗口, 整数型
设置进度.位置 = 6
.如果真 (组合框1.现行选中项 = 0)
游戏包 = 官方包路径.内容
.如果真结束
.如果真 (组合框1.现行选中项 = 1)
游戏包 = TX包路径.内容
.如果真结束
.计次循环首 (到整数 (游戏个数.内容), )
运行 (模拟器路径.内容 + “\KEmulator v1.0.0” + “ ” + 模拟器路径.内容 + “\” + 游戏包, 假, 2) ' 运行模拟器到指定次数
大漠.后台_降低CPU占用 (50)
延时 (2000)
.计次循环尾 ()
窗口排序 ()
延时 (500)
打酱油窗口 = 大漠.窗口_枚举条件窗口 (0, “蜗牛大漠”, “”, 1 + 4 + 8 + 16) ' 蜗牛大漠 是模糊搜索
调试输出 (打酱油窗口)
分解后的窗口 = 分割文本 (打酱油窗口, “,”, )
.计次循环首 (取数组成员数 (分解后的窗口), i)
画面窗口 = 大漠.窗口_取子窗口 (到整数 (分解后的窗口 ), “SWT_Window0”, “”)
调试输出 (画面窗口)
.如果真 (画面窗口 ≠ 0)
延时 (800)
启动线程 (&登陆, 画面窗口, )
延时 (500)
.如果真结束
延时 (500)
.计次循环尾 ()
.子程序 窗口排序
.局部变量 hwnds, 文本型
.局部变量 hw_sp, 文本型, , "0"
.局部变量 i, 整数型
延时 (10000) ' 等待窗口完全打开
hwnds = 大漠.窗口_枚举条件窗口 (0, “KEmulator v1.0.0”, “”, 1 + 4 + 8 + 16)
hw_sp = 分割文本 (hwnds, “,”, )
.计次循环首 (取数组成员数 (hw_sp), i)
延时 (200)
大漠.窗口_移动到指定位置 (到整数 (hw_sp ), (i - 1) × 150, 0)
延时 (200)
大漠.窗口_设置窗口标题 (到整数 (hw_sp ), “蜗牛大漠 第” + 到文本 (i) + “个窗口”)
延时 (200)
.计次循环尾 ()
.子程序 登陆
.参数 画面窗口, 整数型
.局部变量 登陆界面, 整数型
.局部变量 intX, 整数型
.局部变量 intY, 整数型
.局部变量 帐号, 文本型
.局部变量 u, 整数型
.局部变量 d, 整数型
.局部变量 密码, 文本型
.局部变量 sfdl, 文本型
.局部变量 文字, 文本型
.局部变量 文字坐标, 文本型, , "0"
.局部变量 dm_d, 整数型
.局部变量 dm_ret, 整数型
调试输出 (“线程启动了”)
调试输出 (到文本 (画面窗口))
大漠.创建 ()
大漠.大漠_设置全局路径 (取运行目录 () + “\sijie\acx”) ' 设置全局目录
大漠.文字_设置字库文件 (0, “dq_zk.txt”) ' 设置字库
大漠.后台_绑定窗口 (画面窗口, “gdi”, “windows”, “windows”, 0)
大漠.后台_降低CPU占用 (50)
.判断循环首 (d = 0)
登陆界面 = 大漠.图色_查找图片 (9, 306, 311, 727, “sj_dl.bmp|sj_ks.bmp”, “000000”, 1, 0, intX, intY)
.如果真 (登陆界面 = 0)
延时 (200)
大漠.键鼠_鼠标移动 (intX, intY)
延时 (100)
大漠.键鼠_按下鼠标左键 ()
调试输出 (“找到”)
跳出循环 ()
.如果真结束
.如果真 (登陆界面 = 1)
延时 (100)
大漠.键鼠_鼠标移动 (202, 269)
延时 (100)
大漠.键鼠_按下鼠标左键 ()
延时 (500)
大漠.键鼠_鼠标移动 (50, 47)
延时 (200)
大漠.键鼠_按下鼠标左键 ()
跳出循环 ()
.如果真结束
.判断循环尾 ()
.计次循环首 (100, )
帐号 = 大漠.ReadIni (“网游账号” + 到文本 (u), “账号”, 账号路径.内容)
密码 = 大漠.ReadIni (“网游账号” + 到文本 (u), “密码”, 账号路径.内容)
sfdl = 大漠.ReadIni (“网游账号” + 到文本 (u), “是否登陆”, 账号路径.内容)
大漠.WriteIni (“网游账号” + 到文本 (u), “是否登陆”, “否”, 账号路径.内容)
u = u + 1
.如果真 (u = 99)
大漠.WriteIni (“网游账号” + 到文本 (u), “是否登陆”, “是”, 账号路径.内容)
.如果真结束
.如果真 (sfdl = “是”)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.计次循环首 (14, )
大漠.键鼠_按下某键 (39)
延时 (30)
大漠.键鼠_按下某键 (8)
延时 (30)
.计次循环尾 ()
延时 (500)
大漠.窗口_发送文本数据 (画面窗口, 帐号)
延时 (200)
大漠.键鼠_鼠标移动 (153, 88)
延时 (200)
大漠.键鼠_按下鼠标左键 ()
延时 (1000)
.计次循环首 (12, )
大漠.键鼠_按下某键 (39)
大漠.delay (30)
大漠.键鼠_按下某键 (8)
大漠.delay (30)
.计次循环尾 ()
延时 (300)
大漠.窗口_发送文本数据 (画面窗口, 密码)
延时 (300)
大漠.键鼠_按下某键 (112)
.如果真 (登陆界面 = 1)
.判断循环首 (d = 0)
dm_d = 大漠.图色_查找图片 (278, 417, 344, 460, “sj_qh.bmp”, “000000”, 1, 0, intX, intY)
.如果真 (dm_d ≥ 0)
大漠.键鼠_鼠标移动 (intX, intY)
延迟 (200)
大漠.键鼠_按下鼠标左键 ()
调试输出 (“找到切换”)
跳出循环 ()
.如果真结束
延迟 (200)
调试输出 (“没有找到切换”)
.判断循环尾 ()
.如果真结束
延迟 (1000)
.如果真 (大漠.图色_查找图片 (7, 207, 352, 429, “dl_cw.bmp”, “000000”, 1, 0, intX, intY) ≠ -1)
dm_ret = 大漠.图色_抓取图像_24位位图 (0, 0, 364, 662, 取运行目录 () + “\错误” + “\ ” + 帐号 + “.bmp”)
调试输出 (取运行目录 () + “\错误” + “\ ” + 帐号 + “.bmp”)
写配置项 (取运行目录 () + “\错误\错误帐号.ini”, “错误的帐号”, “错误的帐号是”, 帐号)
.如果真结束
.判断循环首 (d = 0)
文字 = 大漠.文字_查找字符串坐标_高级 (7, 46, 347, 528, 大区名字.内容, “ffffff-000000”, 1)
文字坐标 = 分割文本 (文字, “|”, )
.如果真 (到整数 (文字坐标 [1]) ≥ 0)
大漠.键鼠_鼠标移动 (到整数 (文字坐标 [2]), 到整数 (文字坐标 [1]))
大漠.键鼠_按下鼠标左键 ()
跳出循环 ()
.如果真结束
大漠.键鼠_鼠标移动 (334, 297)
延迟 (100)
大漠.键鼠_按住鼠标左键 ()
延迟 (500)
大漠.键鼠_鼠标移动 (334, 400)
延迟 (200)
大漠.键鼠_放开鼠标左键 ()
调试输出 (“没有找到大区”)
.判断循环尾 ()
上面是源码 现在问题是 多线程开启后 只对最后一个窗口操作
|
最佳答案
查看完整内容
我观楼桑代码 全程只使用 一个变量 .程序集变量 大漠, 大漠
而 大漠多开的原则是 一个大漠 针对一个窗口 因此 你的用法始终只能保其中一个窗口有效
解决方法
.程序集变量 大漠, 大漠 设置成数组 多少开就设置多少个数组成员,
调用的时候 通过
第一个窗口 大漠[1].XXXX
第二个窗口 大漠[2].XXXX
--------------------------以上是数组的调用方法.-------------------------------
下面的写法比较复杂,我就 ...
|