編寫自動(dòng)化操作腳本時(shí), 大多數(shù)窗口能以獨(dú)特的標(biāo)題或標(biāo)題與文本的組合來識(shí)別.
使用 窗口形象工具 (甚至直接觀察) 很容易獲取這些信息.
大多數(shù)窗口的標(biāo)題非常明顯, 例如"無標(biāo)題 - 記事本" 就是記事本程序的窗口標(biāo)題.
一般來說這就已經(jīng)足以幫助我們完成自動(dòng)化任務(wù)了.
注意: 如果標(biāo)題和文本為空字串"", 操作對(duì)象將會(huì)是當(dāng)激活的窗口(但不適用于高級(jí)匹配模式 WinTitleMatchModes)!
窗口標(biāo)題及其文本區(qū)分大小寫. 包括標(biāo)點(diǎn)符號(hào)在內(nèi), 必須確保它們完全匹配.
為避免出錯(cuò), 您可以使用窗口信息工具獲取窗口相關(guān)信息, 然后選中標(biāo)題或文本,
然后按下 ctrl+c 復(fù)制之后, 直接粘貼到腳本中使用.
也可以使用 advanced modes (高級(jí)模式)強(qiáng)制小寫匹配
AutoIt 的大部分窗口函數(shù)都有標(biāo)題和文本這兩個(gè)參數(shù), 比如說下面的 WinWaitActive 函數(shù).
這個(gè)函數(shù)的功能是使腳本暫停執(zhí)行 直到 指定窗口出現(xiàn)且激活時(shí)為止.
WinWaitActive ( "標(biāo)題", ["文本"], [超時(shí)] )
標(biāo)題 是必須指定的參數(shù), 文本與超時(shí) 都是可選參數(shù). 也有些函數(shù)的文本 參數(shù)也是必須指定的.
如果省略文本參數(shù), 只需指定 "" (空字符串)作為參數(shù)即可.
使用 "" 作為文本 參數(shù)值或者干脆留空,則匹配窗口的任何文本.
下面以記事本窗口為例說明上面提到的函數(shù)的兩種用法:
WinWaitActive("無標(biāo)題 - 記事本")
與:
WinWaitActive("無標(biāo)題 - 記事本", "")
如果一個(gè)記事本窗口中有文本 "This is a line of text !", the 窗口信息工具 將顯示相關(guān)信息:
請(qǐng)注意, 窗口信息工具已經(jīng)捕捉了這個(gè)記事本窗口的標(biāo)題及文本.
凡是窗口信息工具能捕捉的, AutoIt 也能捕捉到(指能在腳本中使用).
這些信息已經(jīng)足以用來準(zhǔn)確識(shí)別此窗口了(就算此時(shí)還打開了很多記事本窗口). 這時(shí)我們應(yīng)該這么使用函數(shù):
WinWaitActive("Untitled - Notepad", "This is some text!")
窗口文本由 AutoIt 能"見"的所有的文本組成, 通常是類似編輯控件的內(nèi)容(如上面的 "This is a line of text").
但也包括一些其它文本:
重要的是你要使用靠近窗口標(biāo)題的文本來識(shí)別獨(dú)特窗口.
當(dāng)指定窗口函數(shù)的文本參數(shù)后, 文本被當(dāng)作匹配的子串來處理.
因此在上面記事本窗口示例中,即使把"some text"作為窗口文本參數(shù), 也可以獲得同樣效果.
前面提到的所有應(yīng)用都是以默認(rèn)模式下操作為例的,AutoIt 還提供了其它幾種 高級(jí)匹配模式.
注意: 隱藏窗口也可由"標(biāo)題"匹配,但 "文本" 必須為空串 ("").
provider with jb51.net (unicode) |