TC官方合作论坛

 找回密码
 立即注册
查看: 1293|回复: 5

[问题] 请问脚本的运行问题

[复制链接]
发表于 2012-5-19 01:50:19 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
   一个脚本  4个线程 1个线程是死循环检测
请问 为什么  有时候没有延迟的执行功能都执行的特别慢
可能的原因有哪些  是不是因为死循环的原因?但是那个死循环不在本线程里执行的
回复

使用道具 举报

 楼主| 发表于 2012-5-19 01:52:07 | 显示全部楼层
执行脚本除了写入配置操作  其他基本无延迟 ,判断的延迟很小 而且判断也不多
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-19 01:53:50 | 显示全部楼层
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秒  去账号和密码的功能都无延迟 也只是对配置进行了读取

是不是因为这个原因
回复 支持 反对

使用道具 举报

发表于 2012-5-19 09:53:58 | 显示全部楼层
把这句 dm.FindStr(86,123,1070,831,"账号","ffffff-000000",1.0,dx,dy)
加到循环里去判断。。 找到了就跳出循环,没找到就继续找。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-19 11:22:33 | 显示全部楼层
回复 4楼pitty的帖子

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

使用道具 举报

 楼主| 发表于 2012-5-19 21:47:07 | 显示全部楼层
求指点。。为什么会很慢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-29 20:50 , Processed in 0.059230 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表