版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
這編文章主要是總結(jié)自己在編寫200906軟件自動(dòng)安裝包中腳本的經(jīng)驗(yàn),以便與提高自己編寫腳本的能力。其實(shí)自動(dòng)腳本的編寫很簡(jiǎn)單,我只用了一個(gè)星期的時(shí)間學(xué)習(xí),就能夠自己編寫腳本了,但是要寫好就不容易,主要是要反復(fù)測(cè)試。
200906軟件自動(dòng)安裝包中的軟件安裝器是論壇的softwareinstaller2.0版本(見圖1)。
這是個(gè)軟件安裝器可以自由選擇安裝路徑是非常好的一個(gè)軟件,下面我把自己在編寫腳本時(shí)的有關(guān)情況進(jìn)行一下總結(jié)
以軟件包中迅雷v62為例,腳本開頭的代碼如下:
Local$InstallPath
If$Cmdline[0]<>0Then
$InstallPath=$Cmdline[1]
EndIf
這段代碼具體的意思,我也不是很清楚,但是你要想用softwareinstaller2.0這個(gè)安裝器,就必須以這段代碼開頭。
Run(@ScriptDir&"\Thunder.exe")
這段代碼的意思是運(yùn)行當(dāng)前腳本所在的目錄中的Thunder.exe軟件,其中,RUN是運(yùn)行命令,@ScriptDir是當(dāng)前運(yùn)行中的腳本所在的目錄(不包括結(jié)尾的反斜杠符號(hào))。&是使兩個(gè)字符串連接起來(lái),后面的代碼則是你要安裝的軟件的文件名。這個(gè)代碼運(yùn)行后會(huì)出行如下界面(見圖2)
本帖隱藏的內(nèi)容WinWait("安裝-迅雷5","歡迎使用迅雷5安裝向?qū)?)WinActivate("安裝-迅雷5","歡迎使用迅雷5安裝向?qū)?)
WinWaitActive("安裝-迅雷5","歡迎使用迅雷5安裝向?qū)?)
Send("!N")
WinWait命令是暫停腳本的執(zhí)行直至指定窗口存在(出現(xiàn))為止。WinActivate命令是激活指定的窗口。WinWaitActive命令是暫停腳本的執(zhí)行直至指定窗口被激活(成為可活動(dòng)狀態(tài))為止。這段代碼有的人會(huì)說(shuō)只用WinWait和WinWaitActive就可以了,為什么我要在這里加一個(gè)WinActivate命令,主要是考慮我們平時(shí)裝軟件時(shí),不可能只裝一個(gè),如果我們裝的軟件較多,加上電腦配置不高的話,可能會(huì)導(dǎo)致安裝第二個(gè)軟件時(shí),軟件安裝界面不在激活狀態(tài)(這種情況我遇到過(guò)),因此,為了安裝順利我認(rèn)為在這個(gè)地方加上WinActivate命令還是有必要的。
Send命令是模擬鍵盤動(dòng)作,意思是按ALT+N,其它的鍵盤按鍵,大家可以看AU3幫助中Send命令的參數(shù)。除了模擬鍵盤外AU3還提供了模擬鼠標(biāo)動(dòng)作,大家可以用ControlClick命令,具體用法可以看小穆的教程(他主要以模擬鼠標(biāo)動(dòng)作為主)。/bbs/viewthread.php?tid=18186&fromuid=9516
,上面的代碼執(zhí)行后(見圖3)WinWait("安裝-迅雷5","許可協(xié)議")
WinWaitActive("安裝-迅雷5","許可協(xié)議")
Send("!A")
send("!N")這段代碼是指捕抓到窗口后,先按ALT+A鍵,后ALT+N鍵。執(zhí)行后(見圖4)WinWait("安裝-迅雷5","選擇附加任務(wù)")
WinWaitActive("安裝-迅雷5","選擇附加任務(wù)")
Send("{Space}")
Send("!N")
這段代碼和上面是一樣的意思,注意在選項(xiàng)選擇時(shí),我們可以用Send("{TAB}")和Send("{DOWN}")命令進(jìn)行選項(xiàng)的選擇,用Send("{Space}")啟用和關(guān)閉選項(xiàng)。有時(shí)有些軟件不能用鍵盤動(dòng)作進(jìn)行選擇時(shí),可以用鼠標(biāo)動(dòng)作ControlClick命令進(jìn)行。如QQ2009軟件(見圖5)
這種情況的代碼可以這樣編寫:
WinWait("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)")
WinWaitActive("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)","Button9")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)","Button8")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)","Button10")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)","Button11")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇自定義安裝選項(xiàng)與快捷方式選項(xiàng)","Button7")
send("!N")
再回到迅雷安裝步驟,見圖6:
WinWait("安裝-迅雷5","百度超級(jí)搜霸
輕松搜索,攔截廣告!")
WinWaitActive("安裝-迅雷5","百度超級(jí)搜霸
輕松搜索,攔截廣告!")
Send("{Space}")
Send("!N")
捕抓到窗口后,取消“百度超級(jí)搜霸”的安裝,并按“下一步”,執(zhí)行后(見圖7):
WinWait("安裝-迅雷5","選擇目標(biāo)位置")
WinWaitActive("安裝-迅雷5","選擇目標(biāo)位置")
If$InstallPath<>""Then
Send("{del33}")
Send($InstallPath&"\"&"Thunder\")
EndIf
send("!N")
這段代碼說(shuō)實(shí)話具體什么意思我也不是很明白,我只能一行一行的說(shuō),前兩行大家都知道了我就不說(shuō)了。
If$InstallPath<>""Then,這個(gè)是一個(gè)判斷語(yǔ)句,其中$InstallPath是軟件安裝器softwareinstaller的選擇路徑變量,如果你在軟件安裝器中沒有選擇路徑的話,就會(huì)執(zhí)行EndIf后的代碼,也就是直接按“下一步”。如果你進(jìn)行了路徑選擇,就會(huì)執(zhí)行其后的代碼。
Send("{del33}")這個(gè)是:連續(xù)按“刪除”鍵33次,其目的是刪除軟件安裝路徑框中的默認(rèn)路徑。
Send($InstallPath&"\"&"Thunder\")這個(gè)是:在軟件安裝路徑框中輸入路徑。例:如果你在軟件安裝器中選擇軟件的安裝路徑為d:盤的話,這段代碼意思就是在軟件安裝路徑框中輸入“d:\Thunder\”。有些軟件在安裝時(shí),安裝路徑框不是選中狀態(tài),這個(gè)時(shí)候就要改一改上述的代碼了,如200906軟件自動(dòng)安裝包中的QQ軟件,見圖8:遇到這種情況就要先用ControlClick命令選中軟件路徑輸入框,然后用再用“退格”鍵,刪除輸入框中的默認(rèn)路徑。具體代碼如下:
WinWait("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇安裝路徑")
WinWaitActive("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇安裝路徑")
ControlClick("騰訊QQ2009安裝向?qū)?,"請(qǐng)選擇安裝路徑","Edit1")
If$InstallPath<>""Then
Send("{BACKSPACE33}")
Send($InstallPath&"\"&"Tencent\QQ\")
EndIf
send("!i")
再回到迅雷安裝步驟。
路徑選擇完后,執(zhí)行下一步,會(huì)出現(xiàn)兩種情況。
第一種情況,進(jìn)入下一個(gè)步驟,見圖9
這種情況的代碼如下:
WinWait("安裝-迅雷5","準(zhǔn)備安裝")
WinWaitActive("安裝-迅雷5","準(zhǔn)備安裝")
Send("!I")
第二種情況,會(huì)出現(xiàn)文件夾存在,見圖10
這種情況代碼如下:
ifWinActive("文件夾存在")=1Then
Send("{enter}")
EndIf
意思是檢查“文件夾存在”窗口是否存在,如果存在就按“回車”鍵,如果不存在就執(zhí)行EndIf后面的代碼。這個(gè)代碼執(zhí)行完后就會(huì)回到第一種情況。當(dāng)?shù)谝环N情況的代碼執(zhí)行完后就會(huì)出現(xiàn)下面的界面(見圖11)。
這個(gè)是軟件正在安裝的界面,我們不管理它,當(dāng)安裝完成后,我們會(huì)看到下面的界面(圖12):
當(dāng)迅雷安裝到最后一個(gè)界面時(shí),IE瀏覽器彈出,并使安裝界面不在激活狀態(tài),我要用下面的代碼解決:
WinWait("安裝-迅雷5","迅雷5安裝向?qū)瓿?)
WinActivate("安裝-迅雷5","迅雷5安裝向?qū)瓿?)
While1
Select
CaseProcessExists("IEXPLORE.EXE")
ProcessClose("IEXPLORE.EXE")
ExitLoop
CaseProcessExists("Maxthon.exe")
ProcessClose("Maxthon.exe")
ExitLoop
EndSelect
Wend
其中WinActivate命令是激活指定的窗口,While1….Wend是一個(gè)循環(huán)命令,Select…Case…EndSelect是一個(gè)多選擇命令,ProcessExists命令是檢查指定進(jìn)程是否存在,ProcessClose命令是結(jié)束指定進(jìn)程。ExitLoop命令是跳出循環(huán)。整個(gè)代碼的意思是,不停的檢查是否有IE和傲游瀏覽器進(jìn)程,有的話就結(jié)束相應(yīng)的進(jìn)程并跳出循環(huán)。大家要注意了,如果沒有IE和傲游瀏覽器進(jìn)程的話,這個(gè)循環(huán)就是一個(gè)死循環(huán),永遠(yuǎn)會(huì)循環(huán)下去,因此,大家一定要惕用。大家可以根據(jù)這個(gè)代碼中的多選擇命令的特點(diǎn),把檢查和結(jié)束其它瀏覽器的進(jìn)程的代碼添加進(jìn)行。這段代碼執(zhí)行后見圖13:
WinWait("安裝-迅雷5","迅雷5安裝向?qū)瓿?)
WinWaitActive("安裝-迅雷5","迅雷5安裝向?qū)瓿?)
Send("{DOWN}")
Send("{Space}")
Send("{DOWN}")
Send("{Space}")
Send("!F")
EXIT
這段代碼的意思是,取消“將迅雷看看設(shè)為IE首頁(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南旅游職業(yè)學(xué)院《移動(dòng)機(jī)器人導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 辦公技術(shù)新動(dòng)向模板
- 述職報(bào)告:智慧農(nóng)業(yè)實(shí)踐
- 職業(yè)導(dǎo)論-房地產(chǎn)經(jīng)紀(jì)人《職業(yè)導(dǎo)論》點(diǎn)睛提分卷2
- 心理協(xié)會(huì)辯論賽策劃書
- 二零二五年度家庭養(yǎng)老照護(hù)床位服務(wù)與環(huán)保材料采購(gòu)協(xié)議3篇
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第一單元 認(rèn)識(shí)平面圖形綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 2024-2025學(xué)年吉林省長(zhǎng)春五中高三(上)期末數(shù)學(xué)試卷(含答案)
- 江西省贛州市大余縣2024-2025學(xué)年七年級(jí)上學(xué)期1月期末生物學(xué)試題(含答案)
- 二零二五年酒店客房入住體驗(yàn)提升合作協(xié)議2篇
- 企業(yè)年會(huì)攝影服務(wù)合同
- 電商運(yùn)營(yíng)管理制度
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營(yíng)協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識(shí)考試題及答案
- 2024北京東城初二(上)期末語(yǔ)文試卷及答案
- 2024設(shè)計(jì)院與職工勞動(dòng)合同書樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級(jí)工練習(xí)題庫(kù)(附參考答案)
- 村里干零工協(xié)議書
- 2024年高考八省聯(lián)考地理適應(yīng)性試卷附答案解析
評(píng)論
0/150
提交評(píng)論