最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

autoit入門教程小結(jié)第3/5頁

 更新時間:2008年06月19日 09:14:04   作者:  
對于聽說過autoit腳本的朋友,下面的入門教程是個不錯的教材,建議大家看看

注意:窗口標(biāo)題和窗口文本參數(shù)總是對大小寫敏感的。
1、等待窗口系列命令/函數(shù)
AHK和AU3都提供了用法類似的一組窗口等待命令/函數(shù):WinWait/WinWaitActive/WinWaitClose。
它們分別用于等待窗口出現(xiàn)、等待窗口被激活、等待窗口被關(guān)閉。由于這些命令/函數(shù)的參數(shù)類似,現(xiàn)僅以WinWait為例說明。
AHK:
WinWait [, 窗口標(biāo)題, 窗口文本, 超時時間, 排除標(biāo)題, 排除文本]
AU3:
WinWait ( "窗口標(biāo)題" [, "窗口文本" [, 超時時間]] )
WinWait 的作用是在目標(biāo)窗口出現(xiàn)之前不再執(zhí)行后面的所有語句。
假設(shè)我們要運(yùn)行記事本程序,并在其窗口出現(xiàn)時提示用戶:
【示例 3.1.1 】

AHK:
Run Notepad
WinWait, 無標(biāo)題 - 記事本
MsgBox 記事本窗口已被打開!
AU3:
Run("Notepad")
WinWait("無標(biāo)題 - 記事本")
MsgBox(0, "", "記事本窗口已被打開!")

2、激活窗口相關(guān)命令/函數(shù)
讓目標(biāo)窗口成為活動窗口的辦法就是激活它,可用的命令/函數(shù)是WinActivate:
AHK:
WinActivate [,窗口標(biāo)題, 窗口文本, 排除標(biāo)題, 排除文本]
AU3:
WinActivate ( "窗口標(biāo)題" [, "窗口文本"] )

3、關(guān)閉窗口
關(guān)閉窗口有兩種方式,一種是正常的關(guān)閉窗口(WinClose),另一種則是強(qiáng)行關(guān)閉窗口(WinKill):
AHK:
WinClose/WinKill [,窗口標(biāo)題, 窗口文本, 超時時間,, 排除標(biāo)題, 排除文本]
AU3:
WinClose/WinKill ( "窗口標(biāo)題" [, "窗口文本"] )

現(xiàn)在我們已經(jīng)可以實(shí)現(xiàn)一個比較簡單的功能了,比如我們可以打開系統(tǒng)屬性窗口并等待其出現(xiàn),窗口出現(xiàn)后激活它,接著等待3秒再關(guān)閉它:
【示例 3.1.2 】

AHK:
Run, Sysdm.cpl
WinWait, 系統(tǒng)屬性
WinActivate, 系統(tǒng)屬性
WinWaitActive, 系統(tǒng)屬性
Sleep, 3000
WinClose, 系統(tǒng)屬性
WinWaitClose, 系統(tǒng)屬性
AU3:
Run("Control Sysdm.cpl")
WinWait("系統(tǒng)屬性")
WinActivate("系統(tǒng)屬性")
WinWaitActive("系統(tǒng)屬性")
Sleep(3000)
WinClose("系統(tǒng)屬性")
WinWaitClose("系統(tǒng)屬性")

建議:如果程序中頻繁地出現(xiàn)要用到這些窗口標(biāo)題的地方,會帶來一個問題:腳本的可讀性,也許你會想,這不是很直觀嗎?可問題是如果這個重復(fù)出現(xiàn)的窗口標(biāo)題是個很長的字符串呢?這將嚴(yán)重影響整個代碼的排版美觀。而且我們也無從了解這些窗口標(biāo)題的“來頭”,不知道這個窗口標(biāo)題究竟是怎么來的。而如果我們定義一個變量(假設(shè)變量名是“AppWindow1”)保存這個窗口標(biāo)題,我們就能在命令/函數(shù)中用變量來表示它,這樣就達(dá)到了讓代碼用意更清晰一點(diǎn)的目的。另外,就算目標(biāo)軟件因某些原因(比如升級)而改變了它的窗口標(biāo)題,我們也能很方便地作出修改。

4、更準(zhǔn)確的標(biāo)識窗口的方法(主要針對AHK腳本)
程序在運(yùn)行時起碼會有一個進(jìn)程,如果能獲得這個進(jìn)程ID就能在一定程度上保證對窗口的準(zhǔn)確標(biāo)識。另外,每個窗口都有定義窗口類名(Class,比如說記事本窗口的類名就是Notepad),所以我們可以以此排除與目標(biāo)窗口不同的其它窗口類。其實(shí),我們還有一個更準(zhǔn)確的方法:
每個窗口(包括控件在內(nèi))都被Windows指派了一個可區(qū)別于其它窗口的唯一的標(biāo)識符(ID),我們稱之為窗口句柄(HWND)。
直接給定窗口標(biāo)題來表示窗口的一個缺點(diǎn)就是無法保證在腳本運(yùn)行的過程中始終以該窗口為操作目標(biāo),因?yàn)樵谶@個過程中很有可能會有其它“同名”窗口(或者說滿足匹配條件的窗口)出現(xiàn),而如果我們使用這個標(biāo)識符來表示窗口自然就能保證命令/函數(shù)的操作窗口總是同一個窗口了。
我們先來了解一下獲得窗口句柄的命令/函數(shù):
AHK:
WinGet[, 輸出變量, ID, 窗口標(biāo)題, 窗口文本, 排除標(biāo)題, 排除文本]
AU3:
WinGetHandle ( "窗口標(biāo)題" [, "窗口文本"] )
其中WinGet獲得的窗口ID將通過“輸出變量”返回,而WinGetHandle的返回值就是獲得的窗口ID。

我們在進(jìn)行自動化操作時是要先運(yùn)行某個程序,如何獲得這個程序成功運(yùn)行后顯示的窗口句柄?一個比較保險的辦法是先獲得這個程序的進(jìn)程ID,然后根據(jù)這個進(jìn)程ID獲得它的窗口句柄,AHK支持使用進(jìn)程ID作為窗口標(biāo)題使用;但AU3不支持這樣使用,只能先獲得該窗口的類名再根據(jù)該類名來獲得窗口句柄(不夠保險):
【示例 3.1.3 】
AHK:
Run, NotePad, , , ThisPID
WinWait, ahk_pid %ThisPID%

;這里的ahk_pid表明跟在后面的變量是進(jìn)程ID
WinGet, ThisID, ID, ahk_pid %ThisPID%

;ThisID將保存獲得的窗口句柄
AU3:

Opt("WinTitleMatchMode", 4)
Run("Notepad")
$handle = WinGetHandle("classname=Notepad")
現(xiàn)在暫且先忘記了AU3吧,因?yàn)樗拇翱诤瘮?shù)一般都不支持使用窗口句柄作為(窗口標(biāo)題)參數(shù)。
至于如何在AHK中使用窗口句柄,簡單的說,凡是有“窗口標(biāo)題”參數(shù)的命令就可以用窗口句柄來代替,比如:
【示例 3.1.4 】
AHK:
Run, Notepad, , , ThisPID

;先獲得運(yùn)行的記事本程序的進(jìn)程ID
WinWait, 無標(biāo)題 - 記事本 ahk_pid %ThisPID%

;等待該進(jìn)程窗口的出現(xiàn)
WinGet, ThisHWND, ID, 無標(biāo)題 - 記事本 ahk_pid %ThisPID%

;獲得窗口句柄
WinActivate, ahk_id %ThisHWND%
;這里的ahk_id表明跟在后面的變量是窗口句柄
WinWaitActive, ahk_id %ThisHWND%
Sleep, 3000
WinClose, ahk_id %ThisHWND%
WinWaitClose, ahk_id %ThisHWND%

相關(guān)文章

  • Aut2Exe編譯au3腳本為可執(zhí)行文件

    Aut2Exe編譯au3腳本為可執(zhí)行文件

    把AutoIt的.au3腳本文件編譯成可獨(dú)立運(yùn)行的程序當(dāng)然是可實(shí)現(xiàn)的,這樣就可以使得編譯后的程序得以在沒有安裝AutoIt(或者說沒有AutoIt3.exe這個解釋程序)的機(jī)器上運(yùn)行。
    2008-06-06
  • Au3截取騰訊天氣的腳本

    Au3截取騰訊天氣的腳本

    騰訊的天氣是相當(dāng)?shù)臏?zhǔn)呀.而且還有實(shí)時天氣, 今天把它給應(yīng)用上了,附上源代碼拋磚引玉.
    2008-09-09
  • AutoIt腳本的反編譯和代碼格式化問題分析

    AutoIt腳本的反編譯和代碼格式化問題分析

    這篇文章主要介紹了AutoIt腳本的反編譯和代碼格式化問題分析,需要的朋友可以參考下
    2015-10-10
  • autoit HotKeySet 函數(shù)

    autoit HotKeySet 函數(shù)

    HotKeySet 設(shè)置一個可調(diào)用某用戶函數(shù)的熱鍵。
    2008-06-06
  • autoit 更改個人文件夾的小工具

    autoit 更改個人文件夾的小工具

    功 能:更改個人文件夾的位置 原 理:找到注冊表中的相應(yīng)位置,顯示出來,并通過修改對應(yīng)的鍵值來指定路徑。 注意事項(xiàng):本程序不移動文件夾,只是指定路徑;修改完成后,請馬上重新啟動。
    2008-07-07
  • autoit入門教程小結(jié)

    autoit入門教程小結(jié)

    對于聽說過autoit腳本的朋友,下面的入門教程是個不錯的教材,建議大家看看
    2008-06-06
  • autoit 命令行參數(shù)說明

    autoit 命令行參數(shù)說明

    命令行參數(shù) AutoIt 腳本程序可通過命令行調(diào)用,當(dāng)我們傳遞命令行參數(shù)到腳本中的時候會有一個特殊的數(shù)組 $CmdLine 保存相關(guān)數(shù)據(jù)。
    2008-06-06
  • 使用AutoIT實(shí)現(xiàn)自動登錄/退出客戶端軟件,刪除日志

    使用AutoIT實(shí)現(xiàn)自動登錄/退出客戶端軟件,刪除日志

    最近在測試新版客戶端時發(fā)現(xiàn),會不定時的出現(xiàn)登錄失敗,提示信息是“連接登錄服務(wù)器失敗...”。經(jīng)過一番嘗試,發(fā)現(xiàn)在安裝客戶端后登錄,錯誤出現(xiàn)的幾率較高。
    2009-03-03
  • autoit3最新漢化版下載

    autoit3最新漢化版下載

    想運(yùn)行.au3的朋友必備,因這個東西,確實(shí)不錯,我們提出程序的最低版本都基本是autoit3
    2008-06-06
  • QQ向陌生人聊天的autoit腳本

    QQ向陌生人聊天的autoit腳本

    直接輸入對方的qq號即可和對方交談的autoit腳本,沒什么技術(shù)含量,就是需要掌握下autoit的相關(guān)知識
    2008-06-06

最新評論

竹北市| 日喀则市| 霍山县| 包头市| 金溪县| 南投市| 连山| 大城县| 昔阳县| 嘉荫县| 云梦县| 象州县| 喜德县| 定西市| 永平县| 茶陵县| 凌云县| 汉源县| 六盘水市| 温宿县| 富蕴县| 且末县| 称多县| 吐鲁番市| 土默特右旗| 德保县| 文昌市| 娱乐| 应城市| 桐城市| 霍城县| 通州市| 西林县| 德钦县| 镇赉县| 大田县| 山阳县| 桂林市| 江城| 浪卡子县| 松阳县|