版權(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)(這種情況我遇到過),因此,為了安裝順利我認(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省金堂中學(xué)2025屆高二數(shù)學(xué)第一學(xué)期期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 2025屆重慶市外國(guó)語(yǔ)學(xué)校生物高一第一學(xué)期期末調(diào)研模擬試題含解析
- 2025屆雅安市重點(diǎn)中學(xué)生物高三上期末聯(lián)考試題含解析
- 四川省廣元市萬(wàn)達(dá)中學(xué)、八二一中學(xué)2025屆高三英語(yǔ)第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 河南省重點(diǎn)中學(xué)2025屆生物高一第一學(xué)期期末考試試題含解析
- 西藏拉薩北京實(shí)驗(yàn)中學(xué)2025屆數(shù)學(xué)高三上期末聯(lián)考試題含解析
- 英文版家具采購(gòu)合同
- 安徽省合肥市廬陽(yáng)區(qū)第六中學(xué)2025屆數(shù)學(xué)高三第一學(xué)期期末監(jiān)測(cè)模擬試題含解析
- 船舶用油購(gòu)銷合同
- 實(shí)效性課程授課合同
- 2024保密知識(shí)考試教育測(cè)試含答案解析
- 《中國(guó)噬血細(xì)胞綜合征診斷與治療指南(2022年版)》解讀
- 2024年社區(qū)工作者考試必背1000題題庫(kù)附完整答案(全優(yōu))
- 廣告不瘋狂-中外廣告賞析-知到答案、智慧樹答案
- 手術(shù)病人術(shù)中低體溫的預(yù)防與護(hù)理教學(xué)培訓(xùn)課件
- 分布式光伏經(jīng)濟(jì)評(píng)價(jià)規(guī)范
- 農(nóng)村電商實(shí)訓(xùn)報(bào)告
- 2024年蘇州市職業(yè)大學(xué)單招職業(yè)技能測(cè)試題庫(kù)及答案解析
- 牛津自然拼讀課件Phonics worldJKL
- 2022年4月自考00659新聞攝影試題及答案含解析
- 【語(yǔ)文】議論文審題及開頭寫作指導(dǎo) 課件 2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文必修下冊(cè)
評(píng)論
0/150
提交評(píng)論