TC官方合作论坛

标题: 请问脚本的运行问题 [打印本页]

作者: xenolss    时间: 2012-5-19 01:50
标题: 请问脚本的运行问题
   一个脚本  4个线程 1个线程是死循环检测
请问 为什么  有时候没有延迟的执行功能都执行的特别慢
可能的原因有哪些  是不是因为死循环的原因?但是那个死循环不在本线程里执行的

作者: xenolss    时间: 2012-5-19 01:52
执行脚本除了写入配置操作  其他基本无延迟 ,判断的延迟很小 而且判断也不多
作者: xenolss    时间: 2012-5-19 01:53
function bool windowaction(string accfilename)
string acc,psw
int dx,dy,hwnd
//取得目前需要登陆的账号
acc=登陆相关.acc(accfilename)
psw=登陆相关.psw(accfilename)
hwnd=window.getactivewindowhwnd()
help.writeini(accfilename,"占用","1","c:\\zt2dd\\config.ini")
help.writeini(accfilename,"句柄",convert.inttostr(hwnd),"c:\\zt2dd\\config.ini")
//window.setwindowtop(hwnd,true)
dm.FindStr(86,123,1070,831,"账号","ffffff-000000",1.0,dx,dy)
    drivemouse.mousemove(dx+200,dy+3)
    help.sleep(50)
    drivemouse.leftdown()
    help.sleep(200)
    drivemouse.mousemove(dx,dy)
    help.sleep(50)
    drivemouse.leftup()
help.sleep(50)
drivekeyboard.keystring(acc)
help.sleep(500)
drivekeyboard.keypress(9,1)
help.sleep(50)
drivekeyboard.keystring(psw)
help.sleep(500)
dx=-1
dy=-1
dm.FindStr(182,201,1017,754,"登录","ffffff-000000",1.0,dx,dy)
if(dx>0)
drivemouse.mousemove(dx+10,dy+5)
help.sleep(100)
drivemouse.leftclick(2)
help.sleep(5000)
dx=-1
dy=-1
endif
while(true)
dm.FindStr(182,201,1017,754,"确定","ffffff-000000",1.0,dx,dy)
if(dx>0)
    drivemouse.mousemove(dx+15,dy+5)
help.sleep(500)
drivemouse.leftclick(4)
else
    break
endif
endwhile
dm.FindStr(399,623,589,715,"进入游戏","ffffff-000000",1.0,dx,dy)
if(dx>0)
drivemouse.mousemove(dx+15,dy+5)
help.sleep(500)
drivemouse.leftclick(4)
help.sleep(5000)
window.setwindowpos(hwnd,0,0)
help.sleep(50)
help.sleep(1000)
endif
return true
endfunction


这时具体的功能代码 就这一个功能  等待输入账号密码时间超过5秒  去账号和密码的功能都无延迟 也只是对配置进行了读取

是不是因为这个原因
作者: pitty    时间: 2012-5-19 09:53
把这句 dm.FindStr(86,123,1070,831,"账号","ffffff-000000",1.0,dx,dy)
加到循环里去判断。。 找到了就跳出循环,没找到就继续找。
作者: xenolss    时间: 2012-5-19 11:22
回复 4楼pitty的帖子

  应该不是这个  没找到这个基本整个程序就出错了  这里没有加入判断是因为这个东西和下面的100%都存在
不可能找不到  因为这是一个登录界面   上面的功能是执行到登陆界面来了之后暂停的线程 做的3开循环操作
现在的问题就是 恢复此线程执行之后
dm.FindStr(86,123,1070,831,"账号","ffffff-000000",1.0,dx,dy)
这段上面的代码起码执行了10秒 才开始
没有做循环。。也没有出过错  就是很慢才执行。。
起码运行了
作者: xenolss    时间: 2012-5-19 21:47
求指点。。为什么会很慢




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1