陳剛 何軍
摘要:社會信息化的發(fā)展越來越迅速,從大學(xué)到小學(xué)的信息教育的普及,大學(xué)中很多機房需要安裝相關(guān)學(xué)習(xí)軟件,如果對機房電腦逐臺安裝,耗時耗力。該文提出應(yīng)用AutoIt能自動完成相關(guān)重復(fù)性操作,如自動打開網(wǎng)頁,自動安裝程序、批量修改系統(tǒng)設(shè)置等,相對于完全人工操作具有容錯率低、節(jié)約時間等優(yōu)點。
關(guān)鍵詞:AutoIt;自動安裝;容錯率低
中圖分類號:TP318 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)12-0233-02
國家“十三五規(guī)劃”中指出:“統(tǒng)籌網(wǎng)絡(luò)安全和信息化發(fā)展,完善國家網(wǎng)絡(luò)安全保障體系,強化重要信息系統(tǒng)和數(shù)據(jù)資源保護,提高網(wǎng)絡(luò)治理能力,保障國家信息安全。”我院機房的基本情況為,電腦數(shù)量共2500多臺,分布在“市場營銷實訓(xùn)室”、“會計技能實訓(xùn)室”、“計算機基礎(chǔ)實訓(xùn)室”、“軟件測試實訓(xùn)室”等共50多個實訓(xùn)室中,在平時的管理中,若全部由人工來進行系統(tǒng)和軟件的安裝,這種重復(fù)性的勞動會大大降低機房管理人員的效率。安裝中的重復(fù)性勞動,我們可以通過使用AutoIT軟件來提高效率。AutoIT軟件的優(yōu)點在于被設(shè)計得盡可能小,并且不用依賴外部DLL文件或添加注冊表項目即可獨立運行,也可以安全地成為服務(wù)運行.腳本可以使用Aut2Exe編譯為可獨立運行的文件。該文重點論述如何讓制作自動化腳本的方法以及自動化安裝的實踐過程中所需要的重要函數(shù)含義。
1 AutoIt軟件特性介紹
AutoIt 擁有類 BASIC 語言表達式,意味著使用過其他任意高級語言的用戶都能簡單的使用。即使是一個新手也能快速入門。其包含了一個自定義的小型版本的 SciTE 編輯器,它能使您編輯腳本更加方便。是一個非常小并且獨立的應(yīng)用程序,完全不依賴像 .net 或者 vb 使用的厚重的運行庫。所有您需要運行的腳本都能使用主程序執(zhí)行(AutoIt3.exe),并且腳本可以使用腳本編譯器Aut2Exe進行編碼后內(nèi)置于獨立的可執(zhí)行文件。完全支持 Unicode 和 x64 構(gòu)架的程序,可以模擬鍵盤和鼠標(biāo)的操作,可以對窗口移動、隱藏、顯示、修改大小、激活、關(guān)閉、等操作。對窗口本身的操作可以是關(guān)于標(biāo)題、文本、大小、坐標(biāo)、類、和內(nèi)部 Win32 API 句柄。直接獲取編輯框、復(fù)選框、列表框、選擇框、按鈕、狀態(tài)欄上的信息,并且作用于這些控件而不必擔(dān)心鍵擊動作落空,甚至還可以作用于非活動窗口上的控件。
2 AutoIt軟件在機房應(yīng)用的原因
由于機房電腦的更新?lián)Q代比較快、每學(xué)期開學(xué)期間需要為電腦重新安裝、升級軟件。所管轄的實驗室電腦數(shù)量逐年增多,導(dǎo)致管理人員的工作量不斷增加?,F(xiàn)在一臺典型的機房電腦所需要安裝的軟件有SQL2008數(shù)據(jù)庫、office2010、Winrar、QQ輸入法、五筆輸入法、殺毒軟件、360安全衛(wèi)士、影音播放器、Foxit Reader等十余種軟件,還有一些特殊軟件需要安裝比如極域電子教室、Dreamweaver、SPSS等。若采用人工安裝的方法,管理人員必須一直守在電腦旁邊,一步一步地操作。若采用全自動安裝的方式,就無須管理人員全程參與,將節(jié)約大量的時間和精力,同時減輕工作的強度。實現(xiàn)自動化的步驟一般為:①分析人工安裝步驟;②記錄相關(guān)鍵盤或者鼠標(biāo)的操作;③對應(yīng)每個步驟實現(xiàn)Autoit命令的編寫和調(diào)試;④通過軟件生成exe可執(zhí)行文件,完全可以脫離安裝環(huán)境獨立運行。
3 Autoit自動安裝軟件的實施方案
3.1 軟件的單機安裝
以在win10X64系統(tǒng)中安裝SQL2008數(shù)據(jù)庫為例,首先我們來分析人工安裝過程中的相關(guān)步驟;
1)雙擊安裝包文件夾中的setup.exe應(yīng)用程序;
2)在SQL Server安裝中心中點擊“安裝”按鈕,并選擇“全新安裝或向現(xiàn)有安裝添加功能”選項;
3)點擊“SQL Server 2008 R2 安裝程序”界面中的確定選項;
4)等待輸入產(chǎn)品密鑰界面,并輸入密鑰;
5)接受相關(guān)許可條例并點擊“確定”和下一個界面的“安裝”;
6)等待跳轉(zhuǎn)到“安裝程序支持規(guī)則”并點擊下一步;
7)功能選擇中,我們點擊“全選”按鈕,并點擊下一步;
8)一直點擊下一步,直到出現(xiàn)“服務(wù)器配置選項”中,我們選擇“對所有SQL Server服務(wù)使用相同的賬戶”按鈕并在彈出的對話框中選擇“NT AUTHORITY\SYSTEM”選項,點擊確定;
9)如若出現(xiàn)“添加當(dāng)前用戶”按鈕請一一點擊;
10)直到出現(xiàn)“安裝”按鈕,點擊并等待安裝進程結(jié)束(不同型號的機器安裝時間大不相同);
11)點擊“完成”后,打開一次“SQL Server Management Studio”并讓其初始化一次。
3.2 編寫軟件自動安裝程序
根據(jù)之前分析的單機安裝的步驟來編寫腳本,我們需要使用軟件自帶的AutoIt V3 Window Info工具來精確的獲取窗口標(biāo)題信息和鼠標(biāo)點擊位置信息,并使用AutoIt 腳本編輯器來編寫,由于篇幅限制不能將所有程序?qū)懗?,先將該文中所使用的典型函?shù)列出:
1) ShellExecute是使用 ShellExecute API 執(zhí)行一個外部程序。語法格式為:ShellExecute (“文件名”[,“工作目錄” [,“定義操作方式”[,定義顯示方式]]] )。文件名指外部程序所在的完整路徑(文件格式支持MSI、EXE、TXT、LNK);工作目錄 [可選參數(shù)] 是指程序安裝包的絕對地址目錄;定義操作方式 [可選參數(shù)]是指“打開”、“編輯”、“打印”、“顯示屬性”;定義顯示方式 [可選參數(shù)]是指啟動的程序窗口為何種狀態(tài):“@SW_HIDE”為隱藏程序窗口;“@SW_MINIMIZE”為最小化程序窗口;“@SW_MAXIMIZE”為最大化程序窗口。因為MSI格式文件只能由ShellExecute運行,所以本程序中不適用Run函數(shù)操作。
2) WinWaitActive是指暫停當(dāng)前正在運行腳本的執(zhí)行直到指定窗口被激活才繼續(xù)運行。語法格式為:WinWaitActive (“指定窗口標(biāo)題”[,“指定窗口文本”[, 延時時間]] )。指定窗口標(biāo)題為要確認的窗口的標(biāo)題名稱;指定窗口文本[可選參數(shù)]為要確認的窗口包含的顯示文本;延時時間 [可選參數(shù)]以秒為單位。
3) WinActive檢查指定的窗口是否存在且當(dāng)前被激活(和WinWaitActive為配對出現(xiàn)的函數(shù))。語法格式為:WinActive (“指定窗口標(biāo)題”[,“指定窗口文本”] )。指定窗口標(biāo)題為要確認的窗口的標(biāo)題名稱。指定窗口文本[可選參數(shù)] 為要確認的窗口包含的顯示文本。
4) ControlSend指向用戶指定的控件發(fā)送相關(guān)字符串。語法格式為:ControlSend (“指定窗口標(biāo)題”,“指定窗口文本”,控件名稱,“定義字符串”[,發(fā)送方式] )。指定窗口標(biāo)題為要確認的窗口的標(biāo)題名稱;指定窗口文本為要確認的窗口包含的顯示文本;控件名稱為用戶指定的目標(biāo)控件類名和接口名稱;定義字符串為要發(fā)送到指定控件中指定位置的字符串信息;發(fā)送方式[可選參數(shù)] 為處理程序發(fā)送“字符串”的類型:發(fā)送方式= 0(默認),按鍵序列中含有的特殊字符比如!和{RIGHT}將被視為 ALT和右箭頭鍵;發(fā)送方式= 1,按鍵將按!和{RIGHT}發(fā)送。
5) AutoItSetOption指修改 AutoIt 中函數(shù)運行的方式。語法格式為:AutoItSetOption (“函數(shù)運行方式”[,變量])。選項為要修改的函數(shù)選項;變量[可選參數(shù)] 需要分配給選項的值,因設(shè)置的選項不同而類型與意思不同。由于函數(shù)運行方式較多,此文只將本程序中使用的兩個選項為例:TrayIconHide,隱藏 AutoIt 托盤圖標(biāo),0 = 顯示托盤圖標(biāo)(默認) 、1 = 隱藏托盤圖標(biāo)。PixelCoordMode,設(shè)置用于象素函數(shù)的坐標(biāo)參照,可以是絕對位置也可以是相對當(dāng)前激活窗口的坐標(biāo)位置。0 = 相對激活窗口的坐標(biāo)、1 = 屏幕的絕對位置(默認)、2 = 相對激活窗口客戶區(qū)的坐標(biāo)。為簡單書寫,我們也可以使用 Opt() 來代替 AutoItSetOption()。
6) MouseClick為執(zhí)行鼠標(biāo)點擊操作。語法格式為:MouseClick ( “定義按鈕” [, X坐標(biāo)值, Y坐標(biāo)值 [, 鼠標(biāo)點擊次數(shù) [, 鼠標(biāo)點擊速度]]] )。定義按鈕的可選參數(shù)有左鍵—“l(fā)eft”, 右鍵—“right”, 中鍵—“middle”,主鍵—“main”, 菜單鍵—“menu”, 主要按鈕—“primary”, 次要按鈕—“secondary”;
X,Y坐標(biāo)值[可選參數(shù)]為鼠標(biāo)要移動到的目標(biāo)坐標(biāo)值,若兩者都留空則使用當(dāng)前位置(該文中使用了相對激活窗口的坐標(biāo)來定位);點擊次數(shù)[可選參數(shù)]要點擊鼠標(biāo)按鈕的次數(shù),默認值為1;速度 [可選參數(shù)]鼠標(biāo)移動速度,可設(shè)數(shù)值范圍在1(最快)和100(最慢)之間,若設(shè)置速度為0則立即移動鼠標(biāo)到指定位置。默認速度為10。
3.3 機房批量安裝軟件
將編寫好的軟件,通過軟件自帶的編譯生成EXE可執(zhí)行文件,由于可執(zhí)行文件只有1M大小,將這個可執(zhí)行文件拷貝到機房的教師機上,通過電子教師軟件將軟件安裝包和可執(zhí)行文件一起發(fā)送至學(xué)生機的非系統(tǒng)盤中批量運行EXE可執(zhí)行文件,幾分鐘后,安裝完成。此處需要注意的是,由于調(diào)試環(huán)境和安裝環(huán)境可能存在不同的變量,我們需要在機房系統(tǒng)保護卡保護的情況下做一次測試,確認無誤之后在進行程序安裝,這樣既保證了成功率,也降低了工作量。
4 結(jié)束語
很多軟件無論是否需要注冊都可以采用上述的函數(shù)在AutoIt V3中編寫相關(guān)安裝程序,例如3DS max 2012、Microsoft Office、Adobe PhotoShop等軟件,在進行窗口激活時,若未檢測到活動窗口也可以使用ProcessExists函數(shù)來檢查相關(guān)進程是否存在。使用AutoIt V3軟件簡化了機房管理人員的重復(fù)性勞動,提高了管理人員的工作效率。
參考文獻:
[1] 劉義全, 鮑洪剛, 宋世軍. 高校實驗室安全管理問題的思考[J]. 實驗科學(xué)與技術(shù), 2012, 10(1): 173-175.
[2] 徐永冰. Auto It在機房管理中的應(yīng)用[J]. 現(xiàn)代計算機: 專業(yè)版, 2012(7): 61-63.
[3] 汪立生. Oracle數(shù)據(jù)庫的服務(wù)器安裝[J]. 商情: 科學(xué)教育家, 2008(1): 94-97.
[4] 張瑾, 李劍鋒. 應(yīng)用Auto It實現(xiàn)考試系統(tǒng)客戶端自動登錄[J]. 電子技術(shù)與軟件工程, 2014(8): 90-91.
[5] 阮燦華, 陳鑫. 批處理在計算機等級考試系統(tǒng)管理中的應(yīng)用[J]. 長江大學(xué)學(xué)報: 自然科學(xué)版, 2012, 9(12): 117-119.