![]() ![]() ![]() |
|
|
|
2011/12/26 19:45:18瀏覽6432|回應0|推薦2 | |
上一篇曾經提到AutoIT可以在執行時顯示一些提示視窗,引導使用者完成整個安裝動作,因此這一篇我們就來談談怎麼應用提示視窗及AutoIT本身的說明文件該怎麼查閱。
AutoIT可以運用的提示視窗,最常用的就屬Msgbox(另有ToolTip、TrayTip )。如果想知道這個指令的詳細用法與參數,可以雙點指令,等指令呈現選取的狀態後,按下F1就會開啟說明文件,這個功能很方便,請大家多多利用。(如果按F1沒反應,請先儲存檔案) 本文以最常用的Msgbox來做介紹,說明文件顯示的語法與參數如下 MsgBox ( flag, "title", "text" [, timeout [, hwnd]] ) Flag 設定視窗顯示的圖示與按鈕文字。(詳細資訊請參考說明文件) Title 設定視窗的標題列文字。 Text 設定視窗內文文字。 Timeout 設定顯示時間。 Hwnd 視窗的控制碼。(這個我很少用) 一般而言,只要輸入前三項參數就可以成功使用Msgbox,Timeout跟Hwnd則是看使用需求而定。另外,如果參數不想顯示文字,那麼在雙引號內留空就行了。 以下是一個簡單的範例,視窗出現10秒後會自動消失。 MsgBox(0, "自動安裝程式", "軟體安裝完成,十秒後視窗自動消失", 10) OK!到目前為止,大家應該都知道怎麼使用Msgbox了。 接著我們來談一下回傳值(Return Value),這個大家一定要會運用,因為如果你希望使用者按下「確定」才執行程式,或按「否」取消程式,那麼就必須使用回傳值配合if…then等條件語句來完成。 由說明文件內可以看到Msgbox的回傳值如下所示: Success: Returns the ID of the button pressed. Failure: Returns -1 if the message box timed out. 那該怎麼應用呢? 首先我們把Msgbox加上if…then的判斷語句: If MsgBox(1,"", "Show Hello World?") = 1 Then MsgBox(0,"","Hello World") EndIf 註1:if…then…條件語句結束時要加上EndIf,請大家記起來。 註2:Flag由0改成1,才會有「確定」、「取消」兩個按鈕。 Success的回傳值通常都是1,但是Msgbox的回傳值與Flag的按鈕設定有相互對應的關係,例如「確定」的回傳值是1,「取消」的回傳值是2;所以請務必參考說明文件,以免程式執行時沒有反應。 回到上面的程式,我們在括弧後加上=1,意思就是指,當按下「確定」傳回1的值時,往下執行Hello World的Msgbox;反之,按下「取消」的時候,因為沒有設定動作,所以程式會結束。 Failure這邊是指當時間Timeout後回傳-1的值,因此當我們遇到使用者不在,沒人選取「確定」或「取消」的情形時,我們可以設定Timeout的時間,因此程式改成: If MsgBox(1,"", "Show Hello World?",5) = -1 Then ;回傳值為-1則往下執行 MsgBox(0,"","Hello World") EndIf 註1:使用-1這個回傳值,一定要加上Timeout的時間,否則不會有作用。 註2:分號後面的文字為註解。 註3:撰寫程式時請多加上註解,以後修改的時候可以省下很多時間。 以上便是關於Msgbox的使用方式,希望對大家有幫助。 |
|
( 興趣嗜好|電腦3C ) |