AutoIt自動化程式設計 1

2021-09-06 09:20:50 字數 2213 閱讀 9966

1、執行程式

run命令或者函式用來執行外部可執行檔案

au3:

run ( "

檔名" [, "

工作目錄

" [,

標誌]] )

example:

au3:

run("notepad.exe")

上面的示例中都沒有給出程式「

notepad.exe

」的路徑,為什麼仍能執行?這是因為它們都會自動在指令碼所在目錄下搜尋目標檔案,如有則執行,否則就到系統資料夾(

%path%

)中搜尋。

注意:a

)某些程式必須給定「工作目錄」才能成功執行!

b)給出完整的檔案路徑有助於輕微提高程式的可靠性。c)

ahk的

run命令可以用來執行程式和直接開啟檔案,而

au3的

run函式則只能用來執行程式(可執行檔案)或傳遞引數讓某個程式開啟目標檔案。

當然,執行程式的功能還不僅僅是這麼簡單,我們還可以指定執行程式的初始狀態,比如讓執行的記事本視窗以最大化狀態顯示(或者最小化、隱藏):

【示例2.1.2

】au3

:run("notepad.exe", "", @sw_maximize)

2、開啟檔案

前面已經提到,

ahk的

run命令可以直接開啟檔案,而

au3的

run函式則只能用來執行程式,因此在開啟檔案的方式上有點不同:

ahk指令碼中可直接給出目標檔案,而

ahk將自動執行該檔案的關聯程式來開啟它;而

au3則必須由使用者自己傳遞引數讓某個程式開啟目標檔案。

【示例2.2.1

】ahk

:run, myfile.txt

run, notepad.exe myfile.txt

au3:

run("notepad.exe myfile.txt") 

ps:au3

以「函式」的形式提供:

function(param1, param2, …)

3、以命令列形式執行程式

可以考慮執行系統的命令列直譯器(

cmd.exe/command.com

),然後指定要執行的命令並傳遞引數。

假設我們要執行命令「

dir c:\windows\system 32」

,用以列出指定目錄的所有檔案及子目錄。

【示例2.3.1

】ahk

:run, %comspec% /k dir c:\windows\system32

au3:

run(@comspec & " /k dir c:\windows\system32")

注意:a

)comspec

是指令碼內建的用以指示命令列直譯器位置的變數或巨集。b)

/k引數表示「執行字串指定的命令但保留」,若改為

/c則表示「執行字串指定的命令然後終斷」。對此比較直觀的解釋是

/k 將在執行完命令後保留命令提示視窗,而

/c則將在執行完命令之後關閉命令提示視窗。

c)符號「&」是

au3定義的字串連線符。

附上我的兩段**:

;run("rundll32.exe shell32.dll,control_rundll ncpa.cpl,,2")

;run("notepad.exe d:\nw.ps1")

$file = fileopen("d:\nw.ps1", 0)   ;只能開啟檔案進行操作,但看不到檔案

; 檢查開啟的檔案是否可讀

if $file = -1 then

msgbox(0, "錯誤", "不能開啟檔案.")

exit

endif

; 每次讀取一行文字,直到檔案結束.

while 1

$line = filereadline($file)

if @error = -1 then exitloop

msgbox(0, "讀取的行:", $line)

wend

dim $title

dim $ok_control

$title="關於 計算器"

$ok_control="[class:button;text:確定]"

winactivate($title)

controlclick($title,"",$ok_control)

AutoIt自動化程式設計 2

注意 視窗標題和視窗文字引數總是對大小寫敏感的。1 等待視窗系列命令 函式 ahk和au3都提供了用法類似的一組視窗等待命令 函式 winwait winwaitactive winwaitclose。它們分別用於等待視窗出現 等待視窗被啟用 等待視窗被關閉。由於這些命令 函式的引數類似,現僅以wi...

AutoIt 軟體自動化操作

autoit 目前最新是v3版本,這是乙個使用類似basic指令碼語言的免費軟體,它設計用於windows gui 圖形使用者介面 中進行自動化操作。它利用模擬鍵盤按鍵,滑鼠移動和視窗 控制項的組合來實現自動化任務。而這是其它語言不可能做到或無可靠方法實現的 例如vbscript和sendkeys ...

使用AutoIT做自動化測試

使用autoit做自動化測試 1.課程設計目的 1 理解自動化測試 2 學會應用autoit進行自動化測試 2.課程設計內容 1 在文字中編輯數學表示式 2 使用autoit讀取該本文進行計算,並將結果儲存 3.課程設計過程 1 安裝autoit軟體,閱讀文件和學習案例 2 設計測試用例 3 使用a...