找回密码
 加入
搜索
查看: 4089|回复: 5

如何等待程序完全启动后再运行脚本(winWait无效)

[复制链接]
发表于 2009-5-20 20:06:40 | 显示全部楼层 |阅读模式
在用run运行了一个程序之后,马上要对程序中的treeView进行展开 然后一个按钮进行操作。

由于程序要读取数据库,感觉脚本在程序成功读取数据库之前便会完成对treeView的展开点击button,导致程序报错。具体看上去就是treeView还是灰色的时候就展开了(不知道脚本是怎么做到的)。

请问如何等程序顺利加载完之后再运行脚本(例如等待treeView变白后)。WinWait和WinWaitActive都不起作用(都是程序窗口一出来就运行脚本)。除了sleep之外还有其他的方法么?
发表于 2009-5-21 01:05:31 | 显示全部楼层
找一个可以变化的控件 然后获取控件状态来判断

ControlCommand ( "窗口标题", "窗口文本", 控件ID, "IsEnabled)
 楼主| 发表于 2009-5-21 17:28:31 | 显示全部楼层
多谢了,今天一直有事,来不及看。 用controlCommand试了一下,的确可以判断出来窗口空间的状态。可新问题有出来了,有没有让脚本一直等待知道controlCOmmand判断的值为1的时候再继续?
发表于 2009-5-23 05:15:57 | 显示全部楼层
本帖最后由 lynfr8 于 2009-5-23 05:29 编辑

可以根据返回值写一个判断语句
把需要后面执行的代码放到里面


Do
   $a=ControlCommand ( "窗口标题", "窗口文本", 控件ID, "IsEnabled)
Until

$a = 1
......(就是接下要运行的代码,直至脚本结束)
Exit
-------------------------------------------------------------
"IsEnabled", "" 若目标控件可用(未被禁用)则返回值为1,否则为0
发表于 2009-9-8 12:17:41 | 显示全部楼层
发表于 2009-9-8 12:20:29 | 显示全部楼层
求高手解
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 02:22 , Processed in 0.075727 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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