AutoIt v3的指令问题

Home Home
引用 | 编辑 leacks
2006-05-22 19:11
楼主
推文 x0
在安装时因为电脑的快慢不一,如何让电脑等待.
ex:用AutoIt设定好脚本,但跑到安装时(就是程式开始对电脑进行复制档案,修改登录档...)要 ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 mib520
2006-05-24 14:56
1楼
  
DO

Until 判断式

使用这个回圈就OK噜~~~有问题到MSN或即时通问我表情

献花 x0
引用 | 编辑 leacks
2006-05-24 19:10
2楼
  
你要怎样判断?
if WinWaitActive吗?
这样结果不是一样!
因为程式一直在跑阿!

献花 x0
引用 | 编辑 mib520
2006-05-25 14:07
3楼
  
表情
DO

WinSetOnTop("Nero 6安装精灵","",1)

$SPPB=ControlGetText("Nero 6安装精灵","精灵已完成安装程序。","Static17")

Until $SPPB = "精灵已完成安装程序。"

希望泥看的懂 表情

献花 x1
引用 | 编辑 leacks
2006-05-29 06:59
5楼
  
先谢谢各位,等我测完再回覆.
冰样大大的最后一个连结好像要会员才能看的到!

献花 x0
引用 | 编辑 leacks
2006-06-01 06:25
6楼
  
大大你的Static17是什么?
而"精灵已完成安装程序。"这内容没打有差妈,因为这不是不是自行输入的吗?软体的标题不是没有!

献花 x0
引用 | 编辑 leacks
2006-06-01 11:10
7楼
  
终于成功了!
用mib520大大的方法去改的
一套软体装了接近100次.
do
WinWaitActive("程式标题","安装时程式内文")
sleep ("500")
Until WinWait("程式标题","安装完程式内文",1)
至于sleep可大可小,越小的话跑到下一个视窗时作反应的时间越短,但是电脑也运作越辛苦.
因为以我的来讲,我猜程式的跑法是,每次等待0.5秒直到完成,也就是说假设安装过程10秒,这个地方就要运作21次.

献花 x0
引用 | 编辑 mib520
2006-06-01 12:56
8楼
  
"Static17"这是物件名称,用它附的AutoIt Window Info这个软体看的到
DO

WinSetOnTop("Nero 6安装精灵","",1)

$SPPB=ControlGetText("Nero 6安装精灵","精灵已完成安装程序。","Static17")

Until $SPPB = "精灵已完成安装程序。"

我说明一下好了~~DO这是回圈不用多说了

WinSetOnTop("Nero 6安装精灵","",1)
这是将视窗放在最上层,我没试是不是执行一次就OK~所以我就放在回圈里了 表情

”$SPPB”这是一个变数,如果要解释的话,我也不知道怎讲,但有学过程式语言的大概都会知道
因为AutoIt v3这个软体大多数的指令都跟VB的很像,泥可以参考一下VB的网站 表情

ControlGetText("Nero 6安装精灵","精灵已完成安装程序。","Static17")
这是撷取”Static17”此物件的文字内容

$SPPB=ControlGetText("Nero 6安装精灵","精灵已完成安装程序。","Static17")
这行是将Static17物件内容丢到$SPPB这个变数

Until $SPPB = "精灵已完成安装程序。"
这是判断$SPPB是否等于"精灵已完成安装程序。"

我的说明不知道泥看不看的懂~~
呵呵~~~给他一直跑是比较吃力,因为我用公司的电脑所以都没感觉~~
但是我用在很多客人的电脑是都OK~所以我就没改了~~~
谢谢泥的花^^

献花 x0
引用 | 编辑 mingchau
2006-08-13 14:55
9楼
  
mib520 的解释很清楚和祥尽。又增进了不少知识!!!多谢啰 表情

献花 x0
引用 | 编辑 ses530
2006-10-03 20:14
10楼
  
太棒了啦 刚好遇到这个问题..

献花 x0
引用 | 编辑 norikoy2
2006-10-10 09:04
11楼
  
如果是用这样的方式呢?
因为像程式在安装时,因为标题一样,所以直接就跳到下一步去了,并且按了Buttion1
在安装时的Buttion1是取消= =害我每次都卡在那边,后来发现如果标题一样内文不同
程式也不会跑去下一步,不知道是否可应用在发文大大的问题上哩!!!

WinWaitActive("非常好ㄏㄠˇ色 6.0")
sleep(500)
send("!n")
;程式开始安装
;Do
;$txt = ControlGetText("非常好ㄏㄠˇ色 6.0","", "Button1")
;Until $txt <> '取消'

WinWaitActive("非常好ㄏㄠˇ色 6.0","InstallShield Wizard 完成")
ControlClick("非常好ㄏㄠˇ色 6.0","","Button1")

献花 x0
引用 | 编辑 chdarwin
2006-12-11 15:55
12楼
  
很不错的回答.值得学习.增进了不少的知识

献花 x0
引用 | 编辑 spirit310
2009-06-15 16:52
13楼
  
同样的问题一值困扰者我......又不敢发问..(怕被骂:新手又不爬文)
..............
3个月了...这篇教学我已找好久了...........受教了...感恩

献花 x0