TC官方合作论坛
标题:
关于双线程开启的疑问,欢迎来解答
[打印本页]
作者:
zdy77233647
时间:
2012-7-14 20:32
标题:
关于双线程开启的疑问,欢迎来解答
本人纠结这个问题纠结了很长时间 就是不能达到想要的目的 直接上代码 麻烦大神给解决下,非常感谢
#import "dm.dmsoft" dm
空间 种植一
int intX6,intY6,x,y
功能 逻辑型 种植一()
int hwnd= dm.GetMousePointWindow()
dm.SetWindowState(hwnd,12)
dm.SetPath(辅助.获取资源路径("rc:"))
dm.BindWindow(hwnd,"dx","dx","dx",0)
循环(真) //打怪的代码
int zd=dm.FindPic(0,0,2000,2000,"258.bmp","000000",0.9,0,x,y)
help.sleep(500)
dm.MoveTo(x+2,y+2)
// help.sleep(1000)
dm.LeftClick()
help.sleep(3000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框30") ,0),转换.字符型转整型(编辑框.获得文本("编辑框31") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(500)
zd=dm.FindPic(0,0,2000,2000,"1.bmp","102030",0.9,0,x,y)//种植早产植物
help.sleep(500)
dm.MoveTo(x+10,y+8)
// help.sleep(1000)
dm.LeftClick()
help.sleep(900)
zd=dm.FindPic(0,0,2000,2000,"8.bmp|7.bmp|6.bmp|5.bmp|4.bmp|2.bmp|小麦.bmp","102030",0.9,0,x,y)
// help.sleep(1000)
//help.sleep(350000)
repeat(350)
help.sleep(1000)
endrepeat
zd=dm.FindPic(0,0,2000,2000,"258.bmp","102030",0.9,0,x,y)
help.sleep(500)
dm.MoveTo(x+10,y+8)
help.sleep(500)
dm.LeftClick()
help.sleep(3000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框32") ,0),转换.字符型转整型(编辑框.获得文本("编辑框33") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框34") ,0),转换.字符型转整型(编辑框.获得文本("编辑框35") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框36") ,0),转换.字符型转整型(编辑框.获得文本("编辑框37") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框38") ,0),转换.字符型转整型(编辑框.获得文本("编辑框39") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(10)
zd=dm.FindPic(0,0,2000,2000,"8.bmp|7.bmp|6.bmp|5.bmp|4.bmp|2.bmp|小麦.bmp","102030",0.9,1,x,y)
dm.MoveTo(x+2,y+1)
dm.LeftClick()
help.sleep(1000)
循环结束
返回 真
功能结束
功能 逻辑型 验证()
dm.SetPath(辅助.获取资源路径("rc:"))
字符型 IP端口=编辑框.获得文本("编辑框40")//验证的代码
循环(真)
dm.FindPic(0,0,2000,2000,"waigua.bmp","000000",0.9,0,intX6,intY6)
辅助.等待(2000)
if(intX6>=0)
辅助.蜂鸣(1000,3000)
整型 截图句柄 = dm.FaqCapture(intX6-30,intY6,intX6+170,intY6+290,50,0,0)
如果(dm.FaqPost(IP端口,截图句柄,1,60 * 1000)==1)
循环(真)
字符型 返回的结果 = dm.FaqFetch()
如果(字符串.长度(返回的结果)>0)
如果(返回的结果=="OK:1")
dm.MoveTo(intX6-2,intY6+174)
辅助.等待(100)
dm.LeftClick()
辅助.等待(100)
dm.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:2")
dm.MoveTo(intX6-2,intY6+199)
辅助.等待(100)
dm.LeftClick()
辅助.等待(100)
dm.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:3")
dm.MoveTo(intX6-2,intY6+224)
辅助.等待(100)
dm.LeftClick()
辅助.等待(100)
dm.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:4")
dm.MoveTo(intX6-2,intY6+249)
辅助.等待(100)
dm.LeftClick()
辅助.等待(100)
dm.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm.LeftClick()
跳出
如果结束
如果结束
循环结束
如果结束
endif
循环结束
返回 真
功能结束
空间结束
主线程这边是这么写的
功能 逻辑型 热键6_热键()
//这里添加你要执行的代码
线程句柄=线程.扩展开启("种植一.种植一","","蜜蜂天龙种植.大漠","")
help.sleep(500)
线程句柄1=线程.扩展开启("种植一.验证","","蜜蜂天龙种植.大漠","")
返回 真
功能结束
功能 逻辑型 热键7_热键()
//这里添加你要执行的代码
线程.关闭(线程句柄)
help.sleep(500)
线程.关闭(线程句柄1)
返回 真
功能结束
为什么就不能做到截图验证码 发送呢 种植没有什么问题
作者:
cylhb
时间:
2012-7-14 21:45
每个线程都要独立的绑定大漠
你验证线程没绑定,估计导致了后面的找图各种功能失效.
作者:
zdy77233647
时间:
2012-7-15 01:13
恩 我在测试下 意思就是两个线程绑定两次窗口 在解绑两次是这个意思吗?
作者:
cylhb
时间:
2012-7-15 01:14
差不多
每个线程里面,只要用到大漠,就必须绑定,同时解绑也必须在同一线程内
作者:
zdy77233647
时间:
2012-7-15 05:08
#import "dm.dmsoft" dm
#import "dm.dmsoft" dm1
空间 种植一
int intX6,intY6,x,y
功能 逻辑型 种植一()
int hwnd= dm.GetMousePointWindow()
dm.SetWindowState(hwnd,12)
dm.SetPath(辅助.获取资源路径("rc:"))
dm.BindWindow(hwnd,"dx","dx","dx",0)
循环(真) //打怪的代码
int zd=dm.FindPic(0,0,2000,2000,"258.bmp","000000",0.9,0,x,y)
help.sleep(500)
dm.MoveTo(x+2,y+2)
// help.sleep(1000)
dm.LeftClick()
help.sleep(3000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框30") ,0),转换.字符型转整型(编辑框.获得文本("编辑框31") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(500)
zd=dm.FindPic(0,0,2000,2000,"1.bmp","102030",0.9,0,x,y)//种植早产植物
help.sleep(500)
dm.MoveTo(x+10,y+8)
// help.sleep(1000)
dm.LeftClick()
help.sleep(900)
zd=dm.FindPic(0,0,2000,2000,"8.bmp|7.bmp|6.bmp|5.bmp|4.bmp|2.bmp|小麦.bmp","102030",0.9,0,x,y)
// help.sleep(1000)
//help.sleep(350000)
repeat(350)
help.sleep(1000)
endrepeat
zd=dm.FindPic(0,0,2000,2000,"258.bmp","102030",0.9,0,x,y)
help.sleep(500)
dm.MoveTo(x+10,y+8)
help.sleep(500)
dm.LeftClick()
help.sleep(3000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框32") ,0),转换.字符型转整型(编辑框.获得文本("编辑框33") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框34") ,0),转换.字符型转整型(编辑框.获得文本("编辑框35") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框36") ,0),转换.字符型转整型(编辑框.获得文本("编辑框37") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(1000)
dm.MoveTo(转换.字符型转整型(编辑框.获得文本("编辑框38") ,0),转换.字符型转整型(编辑框.获得文本("编辑框39") ,0))
//help.sleep(1000)
dm.LeftClick()
help.sleep(6500)
zd=dm.FindPic(0,0,2000,2000,"16.bmp","102030",0.9,0,x,y)
dm.MoveTo(x+1,y+1)
help.sleep(600)
dm.LeftClick()
help.sleep(10)
zd=dm.FindPic(0,0,2000,2000,"8.bmp|7.bmp|6.bmp|5.bmp|4.bmp|2.bmp|小麦.bmp","102030",0.9,1,x,y)
dm.MoveTo(x+2,y+1)
dm.LeftClick()
循环结束
返回 真
功能结束
功能 逻辑型 验证()
int hwnd= dm1.GetMousePointWindow()
dm1.SetWindowState(hwnd,12)
dm1.SetPath(辅助.获取资源路径("rc:"))
dm1.BindWindow(hwnd,"dx","dx","dx",0)
字符型 IP端口=编辑框.获得文本("编辑框40")//验证的代码
循环(真)
dm1.FindPic(0,0,2000,2000,"waigua.bmp","000000",0.9,0,intX6,intY6)
辅助.等待(2000)
if(intX6>=0)
辅助.蜂鸣(1000,3000)
整型 截图句柄 = dm.FaqCapture(intX6-30,intY6,intX6+170,intY6+290,50,0,0)
如果(dm1.FaqPost(IP端口,截图句柄,1,60 * 1000)==1)
循环(真)
字符型 返回的结果 = dm.FaqFetch()
如果(字符串.长度(返回的结果)>0)
如果(返回的结果=="OK:1")
dm1.MoveTo(intX6-2,intY6+174)
辅助.等待(100)
dm1.LeftClick()
辅助.等待(100)
dm1.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm1.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:2")
dm1.MoveTo(intX6-2,intY6+199)
辅助.等待(100)
dm1.LeftClick()
辅助.等待(100)
dm1.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm1.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:3")
dm1.MoveTo(intX6-2,intY6+224)
辅助.等待(100)
dm1.LeftClick()
辅助.等待(100)
dm1.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm1.LeftClick()
跳出
如果结束
如果(返回的结果=="OK:4")
dm1.MoveTo(intX6-2,intY6+249)
辅助.等待(100)
dm1.LeftClick()
辅助.等待(100)
dm1.MoveTo(intX6+135,intY6+272)
辅助.等待(100)
dm1.LeftClick()
跳出
如果结束
如果结束
循环结束
如果结束
endif
返回 真
循环结束
功能结束
空间结束
功能 逻辑型 热键6_热键()
//这里添加你要执行的代码
线程句柄=线程.扩展开启("种植一.种植一","","蜜蜂天龙种植.大漠","")
help.sleep(500)
线程句柄1=线程.扩展开启("种植一.验证","","蜜蜂天龙种植.大漠","")
返回 真
功能结束
出现了验证码还是不穿出来
作者:
cylhb
时间:
2012-7-15 16:20
先单独测试是否能判断识别到验证码出现吧.
作者:
zdy77233647
时间:
2012-7-21 06:46
都可以的 只是有张图复制错误了 郁闷了 现在好了 谢谢大家了
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1