lihuistc 发表于 2009-5-20 20:06:40

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

在用run运行了一个程序之后,马上要对程序中的treeView进行展开 然后一个按钮进行操作。

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

请问如何等程序顺利加载完之后再运行脚本(例如等待treeView变白后)。WinWait和WinWaitActive都不起作用(都是程序窗口一出来就运行脚本)。除了sleep之外还有其他的方法么?

sxd 发表于 2009-5-21 01:05:31

找一个可以变化的控件 然后获取控件状态来判断

ControlCommand ( "窗口标题", "窗口文本", 控件ID, "IsEnabled)

lihuistc 发表于 2009-5-21 17:28:31

多谢了,今天一直有事,来不及看。 用controlCommand试了一下,的确可以判断出来窗口空间的状态。可新问题有出来了,有没有让脚本一直等待知道controlCOmmand判断的值为1的时候再继续?

lynfr8 发表于 2009-5-23 05:15:57

本帖最后由 lynfr8 于 2009-5-23 05:29 编辑

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


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

$a = 1
......(就是接下要运行的代码,直至脚本结束)
Exit
-------------------------------------------------------------
"IsEnabled", "" 若目标控件可用(未被禁用)则返回值为1,否则为0

316428696 发表于 2009-9-8 12:17:41

:face (28):

316428696 发表于 2009-9-8 12:20:29

求高手解:face (37):
页: [1]
查看完整版本: 如何等待程序完全启动后再运行脚本(winWait无效)