




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、AutoIt3中文教程 <1.1>AutoIt v3 預(yù)覽介紹AutoIt v3 是用以編寫并生成具有 BASIC 語言風(fēng)格的腳本程序的免費(fèi)軟件,它被設(shè)計用來在Windows GUI(用戶界面)中進(jìn)行自動操作。通過它可以組合使用模擬鍵擊、鼠標(biāo)移動和窗口/控件操作等來實現(xiàn)自動化任務(wù),而這是其它語言所無法做到或尚無可靠方法 實現(xiàn)的(比如VBScript和SendKeys)。AutoIt 最初是為PC(個人電腦)的“批量處理”而設(shè)計,用于對數(shù)千臺PC進(jìn)行(同樣的)配置,不過隨著v3版本的到來它也很適合用于家庭自動化和編寫用以完成重復(fù)性任務(wù)的腳本。AutoIt 可以做的事: ·
2、 運(yùn)行 Windows 及 DOS 下的可執(zhí)行文件 · 模擬鍵擊動作(支持大多數(shù)的鍵盤布局) · 模擬鼠標(biāo)移動和點(diǎn)擊動作。 · 對窗口進(jìn)行移動、調(diào)整大小和其它操作。 · 直接與窗口的“控件“交互(設(shè)置/獲取 文字、移動、關(guān)閉,等等) · 配合剪貼板進(jìn)行剪切/粘貼文本操作 · 對注冊表進(jìn)行操作 不同于 AutoIt v2,新的v3版本含有更多的標(biāo)準(zhǔn)語法類似于VBScript和BASIC而且現(xiàn)在支持更復(fù)雜的表達(dá)式、用戶函數(shù)、循環(huán)以及腳本編寫老手們所期待的其它
3、所有內(nèi)容。正如前一個版本一樣,AutoIt 被設(shè)計得盡可能?。ù蠹s115KB)并且不用依賴外部DLL文件或添加注冊表項目即可獨(dú)立運(yùn)行。使用 Aut2Exe 這個工具即可把腳本文件編譯為可獨(dú)立運(yùn)行的文件。 此外我們還更新了 AutoIt 的 ActiveX 和 DLL 版本AutoItX,與v2版本不同的 是,這是個組件化的語言(COM 同一DLL文件中的標(biāo)準(zhǔn)DLL函數(shù))。AutoItX 將使得您可以加入一些AutoIt 獨(dú)有的特性到您最常用的腳本語言或程序設(shè)計語言中去!請查看 AutoItX 的幫助文檔(開始 所有程序 AutoIt v3 Extras AutoItX AutoItX
4、 Help File)以獲得更多信息和示例。最重要的是,AutoIt 將繼續(xù)是免費(fèi)的不過如果您打算支持我們花在此工程和網(wǎng)站主機(jī)上的時間、費(fèi)用以及所作努力的話,那么您可以到AutoIt 的 主頁 上進(jìn)行捐贈。 1 / 41 新內(nèi)容v3 具有完全不同于v2.64的語法,因此不能兼容舊的腳本。不過,v2.64仍舊受到支持并且可以下載。AutoIt v3 和 v2.64可以同時裝在同一臺機(jī)器上而不會有任何問題,同時還可以保持舊腳本的完好。v2版本使用的是.aut后綴的擴(kuò)展名,而v3版本使用的是.au3后綴的擴(kuò)展名。因此不必為了適應(yīng)v3版本而重寫v2.64版本的腳本。 v3 保持了
5、前一版本中窗口標(biāo)題、窗口文字、按鍵和鼠標(biāo)模擬這些概念,但同時也有了很多新的特性:控件直接獲取編輯框、復(fù)選框、列表框、選擇框、按鈕、狀態(tài)欄上的信息,并且作用于這些控件而不必?fù)?dān)心鍵擊動作落空。甚至還可以作用于非活動窗口上的控件!語言升級“更適用的”數(shù)值類型、無限長度的字符串、混合語句、if 語句、條件選擇語句、while 循環(huán)語句、for 循環(huán)語句、do 循環(huán)語句、函數(shù)、數(shù)組、優(yōu)秀的字符串處理(超過25個函數(shù)?。┢溆喙δ苌形戳谐觥K羞@些都使得制作自動化程序的過程不再痛苦。是的,這是個GUI自動化語言,但v3版的語法將更加強(qiáng)大,足以用來編寫一般用途的腳本。AutoIt 的舊版本總是被認(rèn)為是“不太合
6、適的語言”,現(xiàn)在將不再是這樣了。 模擬鍵擊和鼠標(biāo)動作我們花了許多時間用在對鍵擊和鼠標(biāo)動作的模擬功能的優(yōu)化上,使其在目前所有的操作系統(tǒng)上都可以做到盡可能的精確。在這一版本中鼠標(biāo)動作的功能也表現(xiàn) 得更像“人類”了,甚至可以用來創(chuàng)建靈活的演示腳本。所有模擬鼠標(biāo)和鍵盤動作的程序在模擬動作的“速度”及其它功能上都是高度可定制的。 窗口操作除了“標(biāo)題/文字”這種v2版本已有的識別窗口的方法以外,現(xiàn)在還可以通過類別名和句柄來識別窗口。您可以對窗口進(jìn)行移動、隱藏、顯示、調(diào)整大小、激活、關(guān)閉以及其它所有您想要實現(xiàn)的操作。 還有很多很多. AutoIt v3
7、官方下載地址: AutoIt3中文教程 <2.1> 編寫運(yùn)行我的第一個腳本運(yùn)行腳本如果您運(yùn)行 AutoIt(AutoIt3.exe) 則會被詢問要打開哪個 腳本文件。所謂腳本文件是指包含有AutoIt的關(guān)鍵字及相關(guān)函數(shù)的文本文件。使用簡單的文本編輯器(比如記事本 notepad.exe)即可創(chuàng)建腳本文件,當(dāng)然我們還有更好的 選擇。盡管 AutoIt v3 的腳本只是些純文本文件,但為了區(qū)分腳本文件和文本文件我們給它定義了 .au3 這個特殊的文件后綴。如果您完整安裝了AutoIt,那么只需直接雙擊這些腳本文件即可運(yùn)行它們。如果您在一個后綴為 .au3 的腳本文件上點(diǎn)擊右鍵的話,還可
8、以看到有其它的關(guān)聯(lián)操作如 open(打開)、edit(編輯)或者 compile script(編譯腳本)等。 下面是一個示例腳本。注意第一行的英文“;”號被用來注釋語句(類似于DOS下批處理文件的 REM命令): ; 這是我寫的第一個腳本MsgBox(0, "這是我寫的第一個腳本程序!", "Hello World!") 更復(fù)雜的腳本一般會用到 函數(shù),通常我們把函數(shù)放在腳本的最后部分。下面是一個帶有函數(shù)的腳本示例:; 這是我寫的第二個腳本(帶自定義函數(shù))MsgBox(0, "第二個腳本!", "此對話框
9、從主腳本中調(diào)出!")TestFunc()Func TestFunc() MsgBox(0, "第二個腳本!", "此對話框從函數(shù)中調(diào)出!")EndFunc 命令行參數(shù)AutoIt 腳本程序可通過命令行調(diào)用,當(dāng)我們傳遞命令行參數(shù)到腳本中的時候會有一個特殊的數(shù)組 $CmdLine 保存相關(guān)數(shù)據(jù)。注意,腳本文件名不算進(jìn)參數(shù),如果要獲得腳本文件名請查看關(guān)于 ScriptName 的說明。如果某個參數(shù)中包含有空格字符則必須用英文“雙引號”把這個參數(shù)圍住。已編譯的 腳本的也是以同樣的方式接收命令行參數(shù)
10、的。$CmdLine0 保存著命令行中參數(shù)的個數(shù)(不包括腳本文件名)$CmdLine1 是第 1 個參數(shù)$CmdLine2 則是第 2 個參數(shù).我們常用 $CmdLine$CmdLine0 來表示最后一個參數(shù). 如果您的腳本是像下面這樣被運(yùn)行的話: AutoIt3.exe myscript.au3 參數(shù)1 "這是一個字符串型參數(shù)"$CmdLine0 等價于. 2$CmdLine1 等價于. 參數(shù)1$CmdLine2 等價于.這是一個字符串型參數(shù)ScriptName 等價于. myscript.au3 除了$CmdLin
11、e之外,還有一個變量叫做 $CmdLineRaw,它保存著完整的未被拆分的命令行語句,對于上面這個例子$CmdLineRaw 等價于.myscript.au3 參數(shù)1 "這是一個字符串型參數(shù)"AutoIt3中文教程 <2.2> 腳本編輯器腳本編輯器(Script Editors)AutoIt 腳本都是一些很簡單的文本文件,用記事本就可以輕松編輯了。但是更好的選擇或許是使用一些強(qiáng)大的免費(fèi)/共享編輯器,它們一般都會提供諸如語法高亮(讓AutoIt的關(guān)鍵字和函數(shù)高亮并著色顯示從而使得腳本 更加 易讀而且減少錯誤的產(chǎn)生)等功能,因此會更適合用來編寫腳本程序,目前多數(shù)的
12、AutoIt 用戶使用的編輯器是 SciTe,AutoIt開發(fā)小組已開發(fā)了SciTe的 AutoIt 版本,該版本帶有所有的語法高亮功能,同時還整合了很多AutoIt的第三方工具(比如語法錯誤檢查和腳本整理等)。如需要 SciTe 的AutoIt 版本請訪問此頁: 下面是一些推薦的編輯器:· TextPad · Crimson Editor (免費(fèi)的) · Source Edit (免費(fèi)的) · UltraEdit 論壇 里經(jīng)常會有關(guān)于哪一個編輯器最好的爭論:) AutoIt 已附帶了一些為各種編輯器預(yù)寫的語法文件,您可在AutoIt
13、安裝目錄的 Extra 文件夾下找到它們(在開始菜單 / AutoIt v3 / Extra 有一個快捷方式)。AutoIt3中文教程 <2.3> 使用Aut2Exe編譯腳本使用Aut2Exe編譯腳本(Compiling Scripts with Aut2Exe)把AutoIt的.au3腳本文件編譯成可獨(dú)立運(yùn)行的程序當(dāng)然是可實現(xiàn)的,這樣就可以使得編譯后的程序得以在沒有安裝AutoIt(或者說沒有AutoIt3.exe這個解釋程序)的機(jī)器上運(yùn)行。此外,編譯好的腳本程序是經(jīng)過壓縮和加密的,而且還可使用 FileInstall 函數(shù)來綁定(裝入)所需文件(同樣也會被壓縮和加密)到生成的程
14、序中。當(dāng)然,所有被 #include (包含)的文件都會被連接并編譯進(jìn)目標(biāo)文件中,這樣腳本(程序)在運(yùn)行時就不再需要這些文件了。 Aut2Exe 的使用方法有以下三種:方法 1 - 開始菜單(Start Menu)此方法要求完整安裝AutoIt.1. 打開開始菜單并選擇 AutoIt v3 程序組。2. 點(diǎn)擊“Compile Script to .exe”。3. Aut2Exe的主界面就出現(xiàn)在您的面前了。 4. 點(diǎn)擊瀏覽(Browse)按鈕來選擇要編譯的
15、腳本文件(.au3)和程序的輸出位置(.exe)。5. 如要修改目標(biāo)程序的圖標(biāo)則請點(diǎn)擊(第三個)瀏覽(Browse)按鈕并指定圖標(biāo)文件(也可使用由AutoIt提供的一些示例圖標(biāo):默認(rèn)位于Program FilesAutoIt3Aut2ExeIcons).6. 如果不希望有任何人反編譯您的腳本程序(現(xiàn)已有反編譯工具)則請在下方輸入加密密碼。7. 現(xiàn)在只剩下一個可能會需要調(diào)整的設(shè)置了,那就是編譯程序時的壓縮級別(在使用FileInstall裝入大量文件時特別有用)。打開壓縮級別(Compression)菜單即可進(jìn)行設(shè)置。正如其它壓縮程序一樣,您選擇的壓縮級別越高
16、則壓縮速度越慢。不過,無論您選擇哪一種壓縮級別(最終生成的.exe程序)在解壓(運(yùn)行)的時候速度都是差不多的。8. 點(diǎn)擊轉(zhuǎn)換(Convert)按鈕即可編譯腳本。 方法 2 - 右鍵菜單(Right Click)此方法要求完整安裝AutoIt.1. 在資源管理器中找到您要編譯的 .au3 腳本文件。2. 在其上點(diǎn)擊右鍵。 3. 在出現(xiàn)的右鍵菜單上點(diǎn)擊“”,則腳本文件即被編譯并在同一目錄下生成一個同名文件(當(dāng)然,擴(kuò)展名變成.exe)。當(dāng)您選擇使用這種編譯方式
17、的時候,Aut2Exe 將使用當(dāng)前的圖標(biāo)和壓縮級別設(shè)置(也即上一次通過第一種方式編譯時的設(shè)置)。 方法 3 - 命令行(The Command Line)Aut2Exe.exe 也可在命令行環(huán)境下運(yùn)行,例如: Aut2exe.exe /in <infile.au3> /out <outfile.exe> /icon <iconfile.ico> /nodecompile /comp 0-4 /pass <passphrase>長文件名應(yīng)該用雙引號圍住,如 "C:Program FilesTe
18、sttest.au3"。若沒有給定“out” 文件名則生成與腳本文件同名的程序(僅擴(kuò)展名不同)。注:參數(shù)中的<infile.au3>指的是要編譯的腳本文件位置(相對路徑或絕對路徑),<outfile.exe>指的是編譯后的程序生成的位置,<iconfile.ico>指的是圖標(biāo)文件的位置,/comp 0-4指的是壓縮級別,<passphrase>指的是加密密碼。 技術(shù)細(xì)節(jié)在腳本編譯和使用FileInstall函數(shù)裝入外部文件時所用的是我本人(Jon) 的壓縮算法。因為一個編譯好的腳本程序必須能做到無需密碼(解壓)而又能夠得以解析
19、并運(yùn)行。也就是說壓縮是雙向的(即壓縮和解 壓都是用同一種算法)。正因為如此,您應(yīng)該把生成的程序純粹地視為編譯文件而不能認(rèn)為(其中保存的信息)是完全安全的。舉個例子來說,如果我(為了桌面展 示的目的)寫了一個需要含有用戶名和密碼的腳本,那么我可能會用工作站級別的用戶名/密碼而 不會 認(rèn)為腳本程序已足夠安全而使用域或整個網(wǎng)絡(luò)的密碼,除非我非常確定不會有任何終端用戶可獲取該程序。 AutoIt3中文教程 <2.4> AutoIt 窗口信息工具AutoIt 窗口信息工具AutoIt v3 附帶了一個獨(dú)立的工具,名為 窗口信息工具(AutoIt Window
20、 Info Tool )(默認(rèn)位于Program FilesAutoIt3AU3Info.exe)。AU3Info 讓您可以獲取指定窗口的相關(guān)信息從而便于更有效地實現(xiàn)自動化操作。窗口的信息主要包括以下這些:· 窗口標(biāo)題(Window titles) · 窗口上的文本文字(Text)(包括可見部分和不可見部分) · 窗口的大小和坐標(biāo)位置 · 狀態(tài)欄的內(nèi)容 · 鼠標(biāo)指針的坐標(biāo)位置 · 鼠標(biāo)指針?biāo)赶笏氐念伾?· 鼠標(biāo)經(jīng)過的 控件(Control
21、)的相關(guān)信息 要使用 AU3Info 首先當(dāng)然要運(yùn)行它了(可從命令行啟動或在開始菜單找到它)。AU3Info 將保持在所有窗口的最上層以便您總能看到獲取的信息內(nèi)容。激活您感興趣的窗口則AU3Info即可獲取該窗口的相關(guān)信息并顯示出來。有了AU3Info的 幫助您就能迅速地實現(xiàn)自動化了。 當(dāng) AU3Info 運(yùn)行的時候您可能會想(用 CTRL-C 快捷鍵)把AU3Info窗口上的信息直接復(fù)制下來然后粘貼到腳本中以避免拼寫錯誤。但這是很困難的,因為信息內(nèi)容幾乎一直在變(特別是象素信息和鼠標(biāo)信息)!這時只需按下 CTRL-ALT-F 快捷鍵即可立即暫停AU3Info的信息刷新,此時信息內(nèi)容
22、不再更新以供復(fù)制,要再次更新內(nèi)容則只需再按一次快捷鍵就行了。 下面演示了使用 AU3Info 獲取 "寫字板" 的窗口信息時的情況: AutoIt3中文教程 <2.5> AutoIt 窗口信息工具窗口標(biāo)題與文本(基礎(chǔ)篇)窗口標(biāo)題與文本(基礎(chǔ)篇)當(dāng)我們在編寫用以實現(xiàn)自動化操作(通常是指窗口操作)的腳本的時候,經(jīng)常要解決的一個問題就是如何(在眾多窗口中)準(zhǔn)確識別出目標(biāo)窗口,一般來說我們把窗口的 標(biāo)題(title) 作為它的ID,有時候只給標(biāo)題還不夠,這時就需要同時給出 標(biāo)題及文本(text)。要獲得某個窗口的標(biāo)題是件很簡單的事情(直接就可以看到)
23、,可以使用 AutoIt 提供的 AutoIt Window Info(窗口信息工具)。大多數(shù)窗口的標(biāo)題都是顯而易見的,例如系統(tǒng)自帶的記事本程序(notepad.exe),它的標(biāo)題是 無標(biāo)題 - 記事本,并不難理解對吧?而且一般來說這就已經(jīng)足以幫助我們完成自動化任務(wù)了。 注意:若作為參數(shù)傳遞到窗口函數(shù)的 窗口標(biāo)題 和 窗口文本 都是空字符串""的話,則該函數(shù)的操作目標(biāo)將會是當(dāng)前激活的窗口(但設(shè)置了非默認(rèn)的 窗口匹配模式(WinTitleMatchMode) 時除外)! 窗口標(biāo)題及其文本是 大小寫敏感(或者說是嚴(yán)格區(qū)分大小寫)的。包括標(biāo)點(diǎn)符號
24、在內(nèi)您必須確保它們是完全匹配的。為了避免在這種小問題上出錯,您可以使用工具 Window Info 然后選中獲得的標(biāo)題或文本,按下 ctrl-c 復(fù)制之后就可以直接粘貼到腳本中使用了。 AutoIt 的大部分窗口函數(shù)都有窗口標(biāo)題和文本參數(shù),比如說下面的 WinWaitActive 函數(shù)。這個函數(shù)的功能是使腳本暫停執(zhí)行并 一直等到 指定窗口出現(xiàn)且激活為止。WinWaitActive ( "窗口標(biāo)題", "窗口文本", 超時時間 ) 其中 窗口標(biāo)題 是必須指定的參數(shù),而 窗口文本 和 超時時間 都是可選參數(shù)。不過也有些函數(shù)的 窗口文本 參
25、數(shù)是必須指定的,如果想省略這個參數(shù)的話只需指定 "" (表示空字符串)作為參數(shù)即可。在參數(shù) 窗口文本 中指定一個空字符串或者干脆留空的話相當(dāng)于告訴 AutoIt 任何文本都是有效的(反正只管標(biāo)題匹配了就OK)。 下面以記事本窗口為例說明上面提到的函數(shù)的兩種用法:WinWaitActive("無標(biāo)題 - 記事本")以及WinWaitActive("無標(biāo)題 - 記事本", "") 如果我們打些字到該窗口上,比如說“這里是足以區(qū)分其它記事本窗口的文字”,則在 Window Info 的窗口上將會顯示相
26、關(guān)信息: 我們可以注意到 Window Info 已經(jīng) “看到” 了這個記事本窗口的標(biāo)題及文本并顯示出來了。記住,凡是 Window Info Tool 能“看到”的 AutoIt 也能“看到”(指能在腳本中使用)?,F(xiàn)在我們得到的這些信息已經(jīng)足以用來準(zhǔn)確識別此窗口了(就算此時還打開了很多記事本窗口)。這時我們應(yīng)該這么使用函 數(shù): WinWaitActive("無標(biāo)題 - 記事本", "這里是足以區(qū)分其它記事本窗口的文字") 窗口文本作為參數(shù)使用的窗口文本必須是符合 AutoIt 的要求。一般來說有效的
27、文本是指編輯框控件內(nèi)的文本(比如像上面的“這里是足以區(qū)分其它記事本窗口的文字”),此外還可以使用下面這些文本:· 按鈕上的文本,比如 &Yes、&No、&Next、確定(&O) 等(“&”號后的字符將帶有下劃線) · 對話框上的文本,比如 “是否要繼續(xù)?” · 其它控件上的文本 · 其它文本我也不知道那是什么 :) 另外還有一個必須了解的技巧就是除了上面這些文本之外,很多程序窗口的標(biāo)題會根據(jù)操作對象的不同而不同(通常會在默認(rèn)標(biāo)題后附加),因此把接在標(biāo)題后的文本作為窗口
28、文本參數(shù)使用也是可以的。其實我們傳遞到窗口函數(shù)中的 窗口文本 參數(shù)是被 AutoIt 當(dāng)作子串(substring)來處理的。還是以上面的記事本窗口為例,即使把“區(qū)分其它記事”作為窗口文本參數(shù)也是可以獲得同樣效果的。前面提到的所有應(yīng)用都是以在 默認(rèn) 模式下操作為例的,AutoIt 還提供了其它幾種 更高級 的方法,可能會稍微比這里的難一點(diǎn) :) 窗口標(biāo)題與文本(高級篇)AutoIt 支持四種“窗口匹配”模式。若要更改此模式可通過函數(shù) AutoItSetOption 修改 WinTitleMatchMode 屬性即可。 模式 1 (默認(rèn))只匹配標(biāo)題的前面部分。在此模式下,若一
29、個窗口的標(biāo)題是 無標(biāo)題 - 記事本 則可使用如“無標(biāo)題 - 記事本”、“無標(biāo)題” 甚至是 “無” 等字符串作為窗口標(biāo)題參數(shù)使用。例如: WinWait("無標(biāo)題") 模式 2標(biāo)題的任意子串皆可。在此模式下,若一個窗口的標(biāo)題是 無標(biāo)題 - 記事本 則可使用如“無標(biāo)題 - 記事本”、“無標(biāo)題”、“記事本” 甚至是 “本” 等字符串作為窗口標(biāo)題參數(shù)使用。eg. WinWait("記事本") 模式 3完全匹配標(biāo)題。在此模式下,若一個窗口的標(biāo)題是 無標(biāo)題 - 記事本 則只可
30、使用 “無標(biāo)題 - 記事本” 作為窗口標(biāo)題參數(shù)使用。 模式 4高級模式。在此模式下,一些特殊的字符串可用來代替 窗口標(biāo)題 參數(shù),這樣我們就可以使用窗口的 類別名 和 句柄 來識別窗口了。至于 窗口標(biāo)題 參數(shù)維持原樣即可。這些特殊的字符串不能含有空白符(whitespace,一般指空格、制表符、回車等)。它們分別是: "classname=CLASSNAME" "active" "last" 或 ""
31、 "classname=" 只匹配具有相同類別名的窗口。例如要識別一個類別名為 “MYCLASS1”的窗口,則可把“classname=MYCLASS1”作為窗口標(biāo)題 參數(shù)使用。"active" 表示當(dāng)前激活的窗口(實際作用與默認(rèn)的 WinTitleMatchMode 模式下的 "" 一樣)。"last" 使用上一次成功匹配的窗口,這樣就不必三番四次地指定窗口標(biāo)題和窗口文本了。例如: AutoItSetOption("WinTitleMatchMode&quo
32、t;, 4) WinWaitActive("無標(biāo)題 - 記事本") WinClose("last") ; 關(guān)閉前面匹配成功的記事本窗口注意: 如果"classname=", "active", "last" 或 "" 都沒有作為窗口標(biāo)題出現(xiàn)在該參數(shù)中,則自動以 模式 1 進(jìn)行匹配。 窗口句柄(Window Handles / HWNDs ) Aut
33、oIt 中的變量可用來存儲窗口句柄(HWND)。所謂窗口句柄是指 Windows 自動分配給每個新創(chuàng)建的窗口的特殊值。窗口句柄可用來代替窗口標(biāo)題參數(shù)。使用窗口句柄來代替窗口標(biāo)題的好處是能夠更加精確地識別窗口,比如說有時候我們會同時打開同一應(yīng)用程序的多個副本,這些窗口具有完全相同的窗口標(biāo)題和窗口文本,這時就可以利用窗口句柄的唯一性來準(zhǔn)確識別窗口了。另外,當(dāng)使用窗口句柄代替窗口標(biāo)題參數(shù)時,窗口文本參數(shù)將被完全忽略。很多函數(shù)如 WinGetHandle、WinList 和 GUICreate 都會返回窗口句柄。這里要特別提醒大家的是,不能 簡單的把窗口句柄歸類為數(shù)值或者字符串,它是使用特殊的數(shù)據(jù)類型
34、的。 注意:不管當(dāng)前的 WinTitleMatchMode 被設(shè)置為何種模式,窗口句柄始終可用。 示例$handle = WinGetHandle("無標(biāo)題 - 記事本", "")WinClose($handle) 控件(Controls)AutoIt v3 的其中一個最優(yōu)秀的新功能就是提供了直接操作某些窗口控件的支持。我們在窗口上能看到的東西大多都是以下控件的一種:按鈕、列表框、文本編輯框、靜態(tài)文本 等。比如說系統(tǒng)自帶的記事本程序的主窗口也不過只是一個相對而言比較大一點(diǎn)的“編輯框(Edit)”控件罷了!正因為 AutoI
35、t 提供了直接對控件操作的途徑,我們再也不需要(也不應(yīng)該)使用模擬鍵擊等低級的方法來操作窗口了,這使得需要實現(xiàn)窗口操作的腳本更加可靠。 注意: AutoIt 僅支持標(biāo)準(zhǔn)的 Microsoft 控件 有些應(yīng)用程序(的作者)自己寫的自定義控件看起來很像是標(biāo)準(zhǔn)的 MS 控件,但卻無法被腳本程序識別,那就只能靠您的經(jīng)驗判斷了,實踐出真理! 運(yùn)行 AutoIt Window Info 之后您可以試著把鼠標(biāo)移動到自己感興趣的窗口上,在 Window Info 的窗口就會顯示當(dāng)前鼠標(biāo)經(jīng)過的控件的信息。這些信息包括:· 控件 ID(Control ID) · 類別名(C
36、lassNameNN) · 文本(Text) · 控件句柄 (HWND) (這個不能利用 AutoIt Window Info 獲得,獲得方法請看下文) 如果你看到某個 Control.() 函數(shù)要求提供 控件ID(ControlID)作為參數(shù)(實際上大部分控件函數(shù)都需要此參數(shù)),那么您就可以使用這些信息中的任意一種來作為參數(shù)傳遞到函數(shù)中。具體使用哪一種方法其實主要看您的個人喜好以及從 AutoIt Window Info 中能獲得的信息類型,一般而言,最好的方法就是使用控件ID(ControlID),但如果控件ID無法獲得或者是靠控件ID還不足以保證能識別目標(biāo)控件(比如說
37、同時有幾個控件ID相同的控件存在,這種情況通常發(fā)生在靜態(tài)文本控件上),那么就需要換為另外的三種方法之一了。 控件 ID(Control ID)控件 ID 是指Windows指定給每個控件的數(shù)值型標(biāo)識符(實際上就是整數(shù)值)。通常這是用來識別控件的最好的方法。除了 AutoIt Window Info 之外,還有其他的應(yīng)用程序比如某些給盲人用的讀屏軟件或者其它使用 Microsoft API 寫的工具也能獲得控件ID。 類別名(ClassNameNN)每個標(biāo)準(zhǔn)的 Microsoft 控件都具有“類別名”,比如“button(按鈕)”或者“edit(編輯框)”等等。在 AutoI
38、t 中還把它跟該控件的“實例”組合起來,并稱為“ClassNameNN”。比如說某個對話框的上面有三個按鈕,則通常它們的“ClassNameNN”就 是"Button1", "Button2", "Button3"如此之類。當(dāng)控件ID不適用的時候就可以考慮使用這個方法(這種情況通常發(fā)生在靜態(tài)文本控件上)。 文本(Text)也許你也注意到 AU3Info(AutoIt Window Info) 還給出了控件上的文本信息,例如某個按鈕 Next 則在 AU3Info 上看到的就是 &Next (“&”號表示后面
39、跟著的字符將帶有下劃線,其實我們還能在菜單和其它控件上發(fā)現(xiàn)這個符號)。如果您喜歡的話也可以用這些文本代替“ClassNameNN”來識別控件,但是如果有多個控件的文本都相同的話可就有麻煩了。 控件句柄(Control Handle (HWND) ) 如果要獲得某個控件的句柄則可使用 ControlGetHandle 函數(shù)。控件句柄是Windows賦予控件的(獨(dú)一無二的)標(biāo)識符。每個被創(chuàng)建的控件都具有不同的句柄。用戶在使用控件句柄來對控件操作之前應(yīng)該確定自己對句柄是非常熟悉的。預(yù)期用途AutoIt 究竟是用來干嘛的?可能很多人會問這樣的問題,此文將嘗試給您一個解答:此程序(指AutoI
40、t)當(dāng)初被開發(fā)出來的目的是為了讓廣大用戶能擁有一個強(qiáng)大的 工具,這個工具應(yīng)該能有力地支持用戶在Windows下實現(xiàn)各種自動化任務(wù)(比如自動安裝目標(biāo)程序、完成各種自動化操作等),而且它還要能夠提供一個 GUI(用戶界面)以便獲得更好的交互效果,而 AutoIt 就是一個這樣的工具。當(dāng)然,AutoIt 決不是萬能的,當(dāng)要完成某些復(fù)雜的任務(wù)比如那些基于COM的操作時,最好配合某個功能成熟的腳本語言來實現(xiàn)(比如 WSH 或 Kixtart 都是免費(fèi)的),而 AutoIt 的工作就是要完成這些語言所無法完成的任務(wù)。我個人一般使用 AutoIt 來實現(xiàn) PC 桌面展示。我使用WSH(寫病毒的流行工具_(dá))來
41、完成復(fù)雜的腳本/COM部分的工作,并利用它來調(diào)用 AutoIt (或 AutoItX/AutoItDLL)程序以完成那些一般只能由人手輸入才能完成的工作(比如安裝軟件、配置控制面板、修改驅(qū)動器盤符、發(fā)送鍵擊和鼠標(biāo)點(diǎn) 擊動作等)。 當(dāng)然,對很多用戶來說,AutoIt 已經(jīng)是(完成各種任務(wù)的)流行而且好用的腳本語言(特別是隨著 v3 版本的出現(xiàn)這更加成為事實),并且大家都樂于使用它:) - Jon指南 - HelloWorld此頁將介紹創(chuàng)建并運(yùn)行AutoIt腳本的一些基本方法。我們假定您已經(jīng)使用我們提供的安裝程序安裝好了AutoIt v3。(注意:如果您已經(jīng)安裝了 SciTe
42、編輯器,它將會代替系統(tǒng)自帶的記事本來編輯腳本。) 首先打開你要創(chuàng)建腳本的文件夾,點(diǎn)擊鼠標(biāo)右鍵然后在菜單中選擇 新建 / AutoIt v3 Script 。 把腳本文件命名為helloworld.au3。注意擴(kuò)展名應(yīng)為.au3這說明該文件是 AutoIt v3 腳本。 我們已經(jīng)創(chuàng)建了腳本文件了,現(xiàn)在要做的就是對此腳本進(jìn)行編輯使其具有我們需要的功能。在helloworld.au3這個腳本文件上點(diǎn)擊鼠標(biāo)右鍵然后在菜單中選擇Edit Script。 接著將會使用記事本程序來打開此腳本,您會看到類似這樣的內(nèi)容: 您看到的代碼只
43、不過是方便組織腳本的注釋。里面還提示了可供以后使用的“選項”。這些代碼的每一行都以分號開頭,因此它們將被解釋為腳本的注釋(也就是會被忽略),這和DOS下的批處理文件中指定由DOS忽略的命令行類似。 好了,現(xiàn)在我們來告訴AutoIt要做的事就是顯示一個信息框可用 MsgBox 函數(shù)實現(xiàn)。在代碼底部添加以下內(nèi)容: MsgBox(0, "指南", "Hello World!") 所有的函數(shù)都帶有參數(shù),MsgBox 函數(shù)帶有三個參數(shù)標(biāo)識、標(biāo)題和信息。標(biāo)識中的號碼用以改變信息框的顯示風(fēng)格我們現(xiàn)在試試用0。標(biāo)題和信息都是字符串參數(shù)在Au
44、toIt中要使用字符串必須為文本附上雙引號或單引號,也就是說"This is some text" 或 'This is some text'都行。保存腳本并關(guān)閉記事本?,F(xiàn)在您已經(jīng)寫出了您自己的第一個AutoIt腳本了!要運(yùn)行這個腳本只需簡單地雙擊helloworld.au3文件即可(也可以使用右鍵點(diǎn)擊該腳本然后在菜單中選擇 Run Script)。您應(yīng)該會看到這樣的信息框: 現(xiàn)在我們來研究研究 MsgBox 函數(shù)里 標(biāo)識 這個參數(shù)。在該函數(shù)的指南頁中我們看到列出了許多數(shù)值,都是用來改變信息框的顯示樣式的。如果值為0則會顯示一個只帶有一
45、個確定按鈕的簡潔的信息框。如果值為64則將顯示一個帶有感嘆號圖標(biāo)的信息框。再次打開腳本進(jìn)行編輯,把參數(shù)從0 改為 64:MsgBox(64, "指南", "Hello World!") 運(yùn)行腳本將出現(xiàn)這樣的信息框: 您可以自己進(jìn)行試驗,看看標(biāo)識參數(shù)設(shè)置不同的值會得到什么結(jié)果。請記住,如果需要應(yīng)用一個以上的標(biāo)識的值,只需把那些值加起來即可。指南 - 記事本(Notepad) 此頁將介紹自動打開記事本程序、輸入指定文字、最后關(guān)閉記事本的方法。我們假定您已經(jīng)掌握了在 HelloWorld 指南中介紹的創(chuàng)建并運(yùn)行AutoIt腳本的
46、方法。 首先創(chuàng)建一個新的腳本文件,命名為 npad.au3 然后打開它進(jìn)行編輯(按您自己的習(xí)慣使用記事本程序或 SciTe 都可以)。 我們首先需要了解的是記事本程序的可執(zhí)行文件名,也就是 notepad.exe您可以在開始菜單中尋找記事本的快捷方式圖標(biāo),從其屬性中可獲得這一信息(指文件名)。要運(yùn)行記事本程序,我們使用AutoIt 的 Run 函數(shù)。此函數(shù)用以運(yùn)行可執(zhí)行文件并繼續(xù)下一步操作。在腳本的第一行輸入以下代碼:Run("notepad.exe") 運(yùn)行此腳本如果一切正常的話則記事本將被打開。當(dāng)對應(yīng)用程序進(jìn)行自動化操作時AutoIt可檢測
47、窗口標(biāo)題,這樣它就能針對該窗口進(jìn)行操作。很明顯,記事本的窗口標(biāo)題就是 無標(biāo)題 - 記事本(若OS是英文版則為 無標(biāo)題 - 記事本)。當(dāng)應(yīng)用窗口標(biāo)題時AutoIt 是區(qū)分大小寫的,因此您必須確保標(biāo)題完全一致最好的方法是使用AutoIt 窗口信息工具來獲取窗口標(biāo)題。此窗口信息工具可在這里找到:開始菜單 所有程序 AutoIt v3 AutoIt Window Info.打開窗口信息工具之后再點(diǎn)擊記事本的窗口來激活記事本(使其變?yōu)榛顒哟翱冢藭r窗口信息工具將顯示記事本窗口的有關(guān)信息。我們現(xiàn)在需要獲得的是窗口的標(biāo)題。 在AutoIt Info Tool的窗口中選中窗口標(biāo)題名然后按下CTRL
48、-C以復(fù)制名稱到剪貼板這樣我們就可以在腳本中直接粘貼標(biāo)題而不怕打錯字了。在 運(yùn)行 了記事本的一個副本之后我們需要等待它的窗口出現(xiàn)并且變成激活窗口才能發(fā)送鍵擊動作。使用 WinWaitActive 函數(shù)即可實現(xiàn)這一目的。在AutoIt中大多數(shù)有關(guān)窗口操作的函數(shù)都帶有窗口標(biāo)題參數(shù)。在腳本的第二行輸入以下代碼(按下CTRL-V 或者 編輯 粘貼 命令來粘貼剛才復(fù)制到剪貼板的窗口標(biāo)題)WinWaitActive("無標(biāo)題 - 記事本") 在我們可以確定記事本窗口可見之后,下一步就是要鍵入一些文字了。使用 Send 函數(shù)即可實現(xiàn)這一目的。在腳本中添加以下這行代碼。Send(
49、"This is some text.") 整個腳本應(yīng)該是這樣:Run("notepad.exe")WinWaitActive("無標(biāo)題 - 記事本")Send("This is some text.") 關(guān)閉我們之前打開的記事本程序(每次您運(yùn)行此腳本都要這么做否則你會發(fā)現(xiàn)有許多記事本窗口打開?。H缓筮\(yùn)行腳本。您應(yīng)該會看到記事本打開了,接著一些文字將如變戲法般出現(xiàn)在記事本的編輯區(qū)域!下一步我們需要關(guān)掉記事本,使用 WinClose 函數(shù)即可實現(xiàn)這一目的。WinClose("無標(biāo)題 -
50、 記事本") 當(dāng)記事本要關(guān)閉時會有一個對話框提示您是否保存文件。使用窗口信息工具獲取此對話框的詳細(xì)信息以便做出回應(yīng):) 因此我們需要再添加一行代碼等待該對話框變成激活狀態(tài)(為了和原有的記事本窗口區(qū)別開來,我們需要使用窗口文字參數(shù)來令函數(shù)更加準(zhǔn)確):WinWaitActive("記事本", "文件 無標(biāo)題 的文字已經(jīng)改變") 下一步是自動按下ALT-N 來選擇 否(N) 這個按鈕(窗口中帶有下劃線的字母通常用以說明可以同時按下ALT鍵及該字母鍵作為快捷鍵進(jìn)行操作)。在 Send 函數(shù)中要發(fā)送ALT鍵可使
51、用 ! 來表示Send("!n") 最后完整的腳本如下:Run("notepad.exe")WinWaitActive("無標(biāo)題 - 記事本")Send("This is some text.")WinClose("無標(biāo)題 - 記事本")WinWaitActive("記事本", "文件 無標(biāo)題 的文字已經(jīng)改變")Send("!n") 運(yùn)行此腳本您就會看到記事本打開,接著文字出現(xiàn),最后被關(guān)閉!現(xiàn)在您應(yīng)該能夠應(yīng)用在此指南
52、中學(xué)到的技術(shù)進(jìn)行其它應(yīng)用程序的自動化操作了。指南 - WinZip 此頁將介紹實現(xiàn) WinZip 9 SR-1漢化版 的自動安裝的方法。我們假定您已經(jīng)掌握了在 HelloWorld 和 記事本(Notepad)指南中介紹的創(chuàng)建和運(yùn)行AutoIt腳本的方法,并且懂得使用 AutoIt 窗口信息工具 來讀取窗口標(biāo)題及文字等信息。 這個版本的 WinZip 的安裝程序總共有11個對話框是需要點(diǎn)擊按鈕(通常是 下一步(N)) 才能繼續(xù)進(jìn)行安裝的。我們將要寫的腳本很簡單,就是要等待這些對話框出現(xiàn)然后點(diǎn)擊適當(dāng)?shù)陌粹o即可。通常安裝這類程序會有很多窗口的標(biāo)題是一樣的 (WinZip 安裝),因此我們
53、必須使用窗口文字來判斷不同的窗口。下面提供了每個對話框的截圖,您可以點(diǎn)擊這些圖片來查看它們在 窗口信息工具 中顯示的相應(yīng)信息。 首先創(chuàng)建一個文件夾,復(fù)制WinZip的安裝程序(winzip90.exe)到此目錄,新建一個名為 winzipinstall.au3 的腳本文件置于同一個文件夾之下。 現(xiàn)在我們將一步一步來講解編寫腳本自動安裝程序的步驟。每個對話框的截圖下都會有進(jìn)行到該步驟的相應(yīng)腳本代碼(別忘了可以點(diǎn)擊這些圖片來查看它們在 窗口信息工具 中顯示的相應(yīng)信息)。此外您還可以查看我提供的 完整的腳本 以作參考。 第一行代碼非常簡單,我們要運(yùn)行名為 winzip9
54、0.exe 的這個安裝程序。因此此行腳本應(yīng)該是這樣的:Run("winzip90.exe")由于不是官方的英文原版,因此第一個顯示的對話框?qū)⑹菨h化作者的聲明(也就是廣告,_):很明顯,要繼續(xù)裝WinZip的話就不能不按確定了。由上圖可知 確定 這個按鈕是默認(rèn)按鈕,因此我們先等待此信息框出現(xiàn)且處于激活狀態(tài)然后發(fā)送 回車 鍵擊動作即可。那么腳本代碼就是下面這樣了:WinWaitActive("WinZip 9.0 SR-1 Build 6224 漢化版", "炎之川")Send("ENTER")按下確定后第二個對話框?qū)?/p>
55、會彈出:因此我們需要等待此窗口彈出且處于激活狀態(tài),接著要按第一個按鈕(Setup),留意到該按鈕名的S帶有下劃線,因此發(fā)送鍵擊 ALT-s 即可點(diǎn)擊它。那么腳本代碼就是下面這樣了:WinWaitActive("WinZip Self-Extractor - instA.exe", "&Setup")Send("!s")(別忘了可以點(diǎn)擊這些圖片來查看它們在 窗口信息工具 中顯示的相應(yīng)信息)如無 意外,接著就會出現(xiàn)安裝路徑選擇對話框:我們需要等待該窗口變成活動窗口,然后如果您喜歡的話就可以按下回車表示接收此默認(rèn)安裝路徑。那么腳本代
56、碼就應(yīng)該是下面這樣了:WinWaitActive("WinZip 安裝程序", "到下列文件夾")Send("ENTER")但為了作更全面的示范,考慮到會有一些用戶不喜歡它默認(rèn)設(shè)置的安裝路徑,因此我們來做一個小小的修改,把路徑改為自定義的。以D:Program FilesWinZip為例,當(dāng)然我們不需要也不應(yīng)該按那個 瀏覽(B). 按 鈕來定向到此目錄,這樣做實在是太麻煩而且不可靠,我們直接在它的編輯框中輸入指定路徑名即可;另外還要提醒一下,盡管程序為了方便用戶已經(jīng)令輸入框成為 可輸入狀態(tài),也就是說可以通過發(fā)送鍵擊動作直接輸入路徑名,
57、但為了增強(qiáng)腳本的可靠性,我們還是使用窗口信息工具來獲取該編輯框的名稱(點(diǎn)擊上面的圖片即可 查看),結(jié)果為Edit1,因此修改上面的腳本代碼,變成下面這樣:WinWaitActive("WinZip 安裝程序", "到下列文件夾")ControlSetText("WinZip 安裝程序", "到下列文件夾", "Edit1", "D:Program FilesWinZip" ) Send("ENTER")接下來會出現(xiàn)的就是WinZip的功能介紹對話框:請注意
58、,此對話框的標(biāo)題和前面的是完全一樣的,都是 WinZip 安裝 事實上幾乎接下來的所有窗口都是使用這個標(biāo)題!因此,為了準(zhǔn)確區(qū)分這些窗口,我們還需要再加上一個窗口文字,同時要盡可能使用那些相對具有唯一性的文字。因此我們可選用 WinZip 的功能包括 這些文字。當(dāng)窗口出現(xiàn)之后我們只要按下 ALT-n 鍵即可:WinWaitActive("WinZip 安裝", "WinZip 的功能包括")Send("!n") 接下來將會出現(xiàn)許可協(xié)議窗口:等待該窗口出現(xiàn)然后按下 ALT-y 表示接收此協(xié)議:WinWaitActive(&quo
59、t;許可協(xié)議")Send("!y") 接下來將會是有著類似風(fēng)格的幾個對話框,因此不再作詳細(xì)的解釋,每張圖片下都會有進(jìn)行到該步驟時相應(yīng)的腳本代碼: WinWaitActive("WinZip 安裝", "快速入門")Send("!n") WinWaitActive("WinZip 安裝", "在兩種界面中進(jìn)行切換")Send("!c")Send("!n") WinWaitAct
60、ive("WinZip 安裝", "典型設(shè)置(推薦)(&E)")Send("!e")Send("!n") WinWaitActive("WinZip 安裝", "WinZip 需要與壓縮文件格式進(jìn)行關(guān)聯(lián)")Send("!n") 這是安裝程序的最后一個對話框。請注意,完成 這個按鈕沒有定義熱鍵不過幸運(yùn)的是它“正好”是該對話框的默認(rèn)按鈕,因此我們只需按下回車鍵即可選到它。如果不是這樣的話,我們可能需要使用TAB鍵在各個控件之間進(jìn)行切
61、換,或者更好的方法是使用 ControlClick 函數(shù)。WinWaitActive("WinZip 安裝", "安裝已完成")Send("ENTER") 安裝完成后 WinZip 會自動啟動:等待WinZip的主窗口出現(xiàn)然后使用 WinClose 函數(shù)關(guān)掉它即可。WinWaitActive("WinZip", "打開壓縮文件")WinClose("WinZip", "打開壓縮文件") 為了使腳本更加可靠,我們還需要盡可能考慮各種意外的
62、發(fā)生,比如該軟件已經(jīng)被用戶安裝好了,那么當(dāng)在第二個對話框中按下 Setup 這個按鈕時將會出現(xiàn)意料之外的窗口: 很明顯,既然程序已經(jīng)被安裝好了,我們就不必再進(jìn)行后面的操作了,因此我們需要按下 取消 這個按鈕或關(guān)閉此窗口皆可:If WinExists("WinZip Setup", "注冊副本已安裝") ThenWinClose("WinZip Setup", "注冊副本已安裝");EndIf ;還需要添加下面的腳本才能結(jié)束此表達(dá)式 我想您肯定注意到了,上面的代碼使用了If.Then表達(dá)式,同時還使用了 W
63、inExists 函數(shù),這段腳本的具體意思是:如果指定窗口存在則關(guān)閉該窗口。關(guān)閉該窗口后會出現(xiàn)提示窗口:很簡單,關(guān)閉此窗口即可,安裝程序?qū)⒆詣油顺?。WinWaitActive("WinZip 安裝程序", "軟件沒有成功安裝")WinClose("WinZip 安裝程序", "軟件沒有成功安裝")不過事情還不是那么簡單,實際運(yùn)行此腳本時會發(fā)現(xiàn)一個問題:如果程序已經(jīng)安裝過,則當(dāng)然會出現(xiàn)上面的窗口,但是腳本卻沒有做我們希望它做的事情關(guān)閉窗 口。其實仔細(xì)研究就會知道,這個表達(dá)式只是進(jìn)行一次即時的檢測,由于時間過快,檢測完
64、窗口才出現(xiàn),因此會造成腳本暫停,不能繼續(xù)處理這個意外中斷?;蛟S您 可能會想到不停地進(jìn)行檢測(也就是循環(huán))來解決問題,其實不用這樣做,使用 Adlib 函數(shù)即可解決,這個函數(shù)就是專門用來處理這些“意外”的(其實也相當(dāng)于是循環(huán),它默認(rèn)是每隔250毫秒就調(diào)用自定義函數(shù))。因此把上面的腳本修改為這樣:AdlibEnable("end") Func end()If WinExists("WinZip Setup", "注冊副本已安裝") Then WinClose("WinZip Setup", "注冊副本已安裝") WinWaitActive("WinZip 安裝程序", "軟件沒有成功安裝") WinClose("WinZip 安裝程序", "軟件沒有成功安裝"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 考試風(fēng)紀(jì)教育及寒假安全
- 建筑設(shè)計規(guī)范與施工流程試題庫
- 金融科技區(qū)塊鏈技術(shù)創(chuàng)新與應(yīng)用方案
- 2025年經(jīng)濟(jì)法概論考點(diǎn)回顧試題及答案
- 2025年遼陽營口鞍山三市中考語文5月模擬試卷附答案解析
- APP開發(fā)技術(shù)支持協(xié)議
- 社會責(zé)任承包協(xié)議
- 中級經(jīng)濟(jì)師考試應(yīng)試策略及試題答案
- 2025年市政工程數(shù)據(jù)分析試題及答案
- 農(nóng)田流轉(zhuǎn)服務(wù)協(xié)議
- 廣東省廣州市增城區(qū)2025屆九年級下學(xué)期中考一模歷史試卷(含答案)
- 大學(xué)班會課件
- 2025年云計算與大數(shù)據(jù)技術(shù)考試試題及答案
- 納西族文化課件
- 礦石加工中的化學(xué)工藝安全技術(shù)考核試卷
- 水利水電工程技術(shù)術(shù)語全
- 2024-2025教科版科學(xué)一年級下冊第二單元測試卷及答案
- 醫(yī)療器械研究報告醫(yī)療器械產(chǎn)業(yè)現(xiàn)狀及未來發(fā)展趨勢分析報告(2025年)
- 數(shù)字孿生技術(shù)在智慧能源系統(tǒng)中的挑戰(zhàn)與機(jī)遇
- (高清版)DZT 0004-2015 重力調(diào)查技術(shù)規(guī)范(150 000)
- 陜2022TJ 067 廚衛(wèi)裝配式鋼絲網(wǎng)混凝土排氣道系統(tǒng)建筑構(gòu)造圖集
評論
0/150
提交評論