|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
空间 TC多开测试
//默认空间
线程句柄
对象句柄
a=110
b=220
Ts=数组[0]
功能 主线程()
变量 返回值,数组大小,i
句柄数组=数组[1]
返回值=系统.枚举("叱咤风云",0)
字符串.分割(返回值,"|",句柄数组)
数组空间.大小(句柄数组,数组大小)//判断数组大小
遍历(i=0;i<数组大小;i++)
Ts=数组空间.重定义(Ts,真,i+1)//由于每开启一个线程就多需要一个天使对象,这里必须重新定义天使对象数组大小
变量 参数=句柄数组[i]&","&i//合并参数 窗口句柄和i的值,i的值是为了传递给Ts[i] 这个对象,每开启一次i+1
//有的朋友就在这里就绑定窗口,其实也是可以的,但我不太喜欢这种做法.
线程.扩展开启("TC多开测试.子线程",参数,"TC多开测试.解绑",i)//开启分线程
辅助.等待(100)//等待一下,避免多个线程同时绑定窗口,导致绑定失败
遍历结束
功能结束
功能 子线程(参数)//接受参数 var 参数=句柄数组[i]&","&i
变量 i,窗口句柄,绑定返回值
参数数组=数组[1]
字符串.分割(参数,",",参数数组)//分割出传过来的参数 i和窗口句柄的值
窗口句柄=参数数组[0]
i=参数数组[1]
Ts[i]=com("dm.dmsoft")//创建天使对象
绑定返回值=Ts[i].BindWindow(窗口句柄,"dx2","normal","normal",0)//绑定
辅助.等待(1000)
如果(绑定返回值==0)
help.messagebox("绑定失败")
返回 假
否则
Ts[i ].SetPath(辅助.获取资源路径("rc:"))
Ts[i].SetDict(0,"jh.txt")
窗口.激活(窗口句柄)
窗口.还原(窗口句柄)
TC多开测试.到达1(i,窗口句柄)
辅助.等待(100)
如果结束
功能结束
功能 解绑(i)
Ts[i].UnBindWindow()
返回 真
功能结束
功能 移动(i,窗口句柄)
x,y,x1,y1
线程.进入临界区(对象句柄)
遍历(5)
窗口.激活(窗口句柄)
窗口.还原(窗口句柄)
//线程.进入临界区(对象句柄)
Ts[i].FindPic(0,0,1024,768,"地图1.bmp","000000",0.9,0,x,y)
如果(x>0)
//线程.进入临界区(对象句柄)
//窗口.激活(窗口句柄)
//窗口.还原(窗口句柄)
辅助.等待(100)
//窗口.窗口转屏幕(窗口句柄,x,y,x1,y1)
//超级鼠标.移动(x1-66,y1+594)
Ts[i].MoveTo(x-66,y+594)
辅助.等待(50)
超级鼠标.左键单击()
辅助.等待(50)
超级键盘.按键(8,7)
辅助.等待(50)
超级键盘.发送字符串(a)
辅助.等待(50)
//超级鼠标.移动(x1-18,y1+600)
Ts[i].MoveTo(x-18,y+600)
辅助.等待(50)
超级鼠标.左键单击()
辅助.等待(50)
超级键盘.按键(8,7)
辅助.等待(50)
超级键盘.发送字符串(b)
辅助.等待(50)
//超级鼠标.移动(x1+12,y1+590)
Ts[i].MoveTo(x+12,y+590)
辅助.等待(50)
超级鼠标.左键单击()
辅助.等待(100)
超级键盘.按键(77)
辅助.等待(100)
//线程.离开临界区(对象句柄)
跳出
否则
//线程.离开临界区(对象句柄)
超级键盘.按键(77)
辅助.等待(1000)
如果结束
遍历结束
线程.离开临界区(对象句柄)
功能结束
功能 到达1(i,窗口句柄)
intX,intY
x,y
长度
字符串
遍历(50)
字符串=Ts[i].Ocr(907,100,958,122,"ffffff-000000",1.0)
长度=字符串.长度(字符串)
如果(长度>4)
变量 返回串=数组[2]
源串=字符串,分隔符=","
是否成功=字符串.分割(源串,分隔符,返回串)
变量 数量,g=0
数组空间.大小(返回串,数量) //获取数组维数
如果(是否成功)
w=返回串[g]
q=返回串[g+1]
e=类型.转整型(w,0)-a
r=类型.转整型(q,0)-b
整型 绝对数a
整型 绝对数b
绝对数a=数学.绝对值(e)
绝对数b=数学.绝对值(r)
如果(绝对数a<=1&&绝对数b<=1)
跳出
否则
TC多开测试.移动(i,窗口句柄)
辅助.等待(2000)
TC多开测试.跑路中(i,窗口句柄)
如果结束
否则
辅助.等待(100)
如果结束
否则
辅助.等待(100)
如果结束
遍历结束
返回 真
//函数返回语句
功能结束
功能 跑路中(i,窗口句柄)
intX,intY
x,y
遍历(50)
字符串=Ts[i].Ocr(907,100,958,122,"ffffff-000000",1.0)
辅助.等待(1000)
字符串1=Ts[i].Ocr(907,100,958,122,"ffffff-000000",1.0)
如果(字符串==字符串1)
跳出
否则
辅助.等待(500)
如果结束
遍历结束
返回 真
//函数返回语句
功能结束
功能 退出_点击()
线程.关闭(线程句柄)
辅助.退出()
功能结束
功能 开始_点击()
对象句柄=线程.创建临界区()
//这里添加你要执行的代码
线程句柄=线程.开启("TC多开测试.主线程",对象句柄)
功能结束
空间结束
附上源码 测试了一天 才能正常实现功能,唯一不足的是 线程没执行完 点 退出 程序就经常卡死!
大神路过 帮忙看看写对没有 还有什么 注意的么!
|
|