多线程 总是运行越来越快 延时也没用 不明白是哪里冲突了 拜托老师帮忙给看看~
本帖最后由 貓祭師ι. 于 2018-2-1 12:27 编辑.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 句柄数组, 整数型, , "0"
.程序集变量 线程句柄, 整数型
.程序集变量 验证监测, 逻辑型
.程序集变量 模式监测, 文本型
.子程序 __启动窗口_创建完毕
免注册大漠插件 (“C:\dm.dll”, 0)
.子程序 _按钮_开始验证_被单击
.局部变量 大漠, 大漠中文版
.局部变量 i, 整数型
.局部变量 句柄, 整数型
初始化COM库 ()
窗口_枚举句柄2_祥云 (句柄数组, “App”, “PVP”)
.计次循环首 (取数组成员数 (句柄数组), i)
大漠多线程信息 .大漠.创建对象 ()
调试输出 (大漠多线程信息 .大漠.取插件版本 ())
大漠多线程信息 .窗口句柄 = 句柄数组
绑定游戏 (i)
.计次循环尾 ()
线程句柄 = 大漠多线程信息 .线程句柄
线程_启动 (&多线程开始, i, 线程句柄)
辅助延时 (200)
时钟1.时钟周期 = 10000
.子程序 绑定游戏, , , 已屏蔽
.参数 i, 整数型
.局部变量 大漠, 大漠中文版
.局部变量 ret, 整数型, , , 绑定窗口的返回值
.局部变量 句柄, 整数型
' 绑定游戏窗口
大漠 = 大漠多线程信息 .大漠
句柄 = 大漠多线程信息 .窗口句柄
ret = 大漠.绑定Ex (句柄, “dx.graphic.3d”, “windows”, “windows”, “”, 0)
.如果 (ret = 1)
调试输出 (“绑定成功”)
.否则
调试输出 (“绑定失败”)
.如果结束
辅助延时 (500)
.子程序 开始验证
.参数 i, 整数型
.局部变量 大漠, 大漠中文版
.局部变量 涂鸦x, 整数型
.局部变量 涂鸦y, 整数型
大漠 = 大漠多线程信息 .大漠
大漠多线程信息 .大漠.置全局路径 (“C:\bmp”)
验证监测 = 真
.判断循环首 (验证监测 = 真)
线程_启动 (&检测验证码, i, 线程句柄)
辅助延时 (500)
.判断开始 (单选框_WS模式.选中 = 真)
线程_启动 (&WS模式, i, 线程句柄)
调试输出 (“当前选中的是星火模式”)
.默认
.判断结束
辅助延时 (3000)
.判断循环尾 ()
.子程序 多线程开始
.局部变量 i, 整数型
.计次循环首 (取数组成员数 (句柄数组), i)
.判断开始 (线程_启动 (&开始验证, i, 线程句柄) = 假)
调试输出 (“线程启动失败”)
返回 ()
.默认
调试输出 (“第”, 到文本 (i), “个线程开始验证”)
.判断结束
辅助延时 (500)
.计次循环尾 ()
.子程序 检测验证码
.参数 i, 整数型
.局部变量 大漠, 大漠中文版
.局部变量 检测x, 整数型
.局部变量 检测y, 整数型
大漠多线程信息 .大漠.找图 (0, 0, 1024, 768, “叹号.bmp”, “050505”, 0.9, 0, 检测x, 检测y)
调试输出 (检测x, 检测y)
.如果真 (检测x > 0)
调试输出 (“检测到验证码”)
辅助延时 (2000)
线程_启动 (&识别验证码, i, 线程句柄)
.如果真结束
.子程序 识别验证码
.参数 i, 整数型
.局部变量 大漠, 大漠中文版
.局部变量 图片数据, 字节集, , , 128*128的BMP格式图片数据
.局部变量 x, 整数型
.局部变量 y, 整数型
.局部变量 失败x, 整数型
.局部变量 失败y, 整数型
.局部变量 登录x, 整数型
.局部变量 登录y, 整数型
.局部变量 识别是否成功, 整数型
大漠多线程信息 .大漠.截图 (450, 255, 578, 383, “验证码” + 到文本 (i) + “.bmp”)
辅助延时 (100)
图片数据 = 读入文件 (“C:\bmp\验证码” + 到文本 (i) + “.bmp”)
辅助延时 (100)
.判断开始 (坐标_识别 (图片数据, x, y))
调试输出 (x, y, “开始验证”)
.默认
识别是否成功 = 0
调试输出 (“识别失败”)
.判断结束
辅助延时 (100)
大漠多线程信息 .大漠.鼠标移动 (x + 450, y + 255)
辅助延时 (10)
大漠多线程信息 .大漠.鼠标_左键单击 ()
辅助延时 (100)
调试输出 (“识别成功”)
.如果真 (识别是否成功 = 0)
大漠多线程信息 .大漠.鼠标移动 (516, 321)
辅助延时 (10)
大漠多线程信息 .大漠.鼠标_左键单击 ()
辅助延时 (100)
.如果真结束
大漠多线程信息 .大漠.找图 (0, 0, 1024, 768, “验证失败.bmp”, “050505”, 0.9, 0, 失败x, 失败y)
.判断开始 (失败x > 0)
调试输出 (“登录界面验证失败”)
大漠多线程信息 .大漠.找图 (0, 0, 1024, 768, “登录1.bmp|登录2.bmp”, “050505”, 0.9, 0, 登录x, 登录y)
大漠多线程信息 .大漠.鼠标移动 (登录x, 登录y)
辅助延时 (10)
大漠多线程信息 .大漠.鼠标_左键单击 ()
.默认
辅助延时 (100)
.判断结束
.子程序 WS模式
.参数 i, 整数型
.局部变量 大漠, 大漠中文版
模式监测 = “WS模式”
.判断循环首 (模式监测 = “WS模式”)
大漠多线程信息 .大漠.键盘_按住 (#W键)
辅助延时 (1600)
大漠多线程信息 .大漠.键盘_弹起 (#W键)
辅助延时 (20)
大漠多线程信息 .大漠.键盘_按住 (#S键)
辅助延时 (1620)
大漠多线程信息 .大漠.键盘_弹起 (#S键)
辅助延时 (20)
.如果 (单选框_WS模式.选中 = 假)
跳出循环 ()
.否则
.如果结束
.判断循环尾 ()
.子程序 _时钟1_周期事件
SetProcessWorkingSetSize (取当前进程伪句柄_ (), 50000, 100000)
是未跳出循环 已解决~
页:
[1]