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