AutoIt 具有四種“窗口匹配”模式. 由函數(shù) AutoItSetOption 通過選項(xiàng) WinTitleMatchMode 設(shè)置.
模式 1 (默認(rèn))
匹配開頭的部分標(biāo)題.
在此模式下,若窗口的標(biāo)題是 "無標(biāo)題 - 記事本", 則匹配“無標(biāo)題 - 記事本”、“無標(biāo)題” 甚至 “無” 等字符串.
例如:
WinWait("無標(biāo)題")
模式 2
匹配標(biāo)題的任意子串.
在此模式下,若窗口的標(biāo)題是 "無標(biāo)題 - 記事本", 則匹配 "無標(biāo)題 - 記事本", "無標(biāo)題", "記事本", "事本"等字符串.
例如:
WinWait("Notepad")
模式 3
完全匹配標(biāo)題.
在此模式下,若窗口的標(biāo)題是 "無標(biāo)題 - 記事本", 則只能匹配 "無標(biāo)題 - 記事本"
模式 4 (為保持向后兼容)
高級(jí)模式
必須用高級(jí)窗口描述代替, 不需要設(shè)置任何模式.
模式 1 到 3
強(qiáng)制小寫體依照不同類型匹配.
特定描述可以作為窗口標(biāo)題匹配參數(shù)使用. 這種描述由下列屬性識(shí)別窗口:
窗口標(biāo)題使用一或多個(gè)屬性參數(shù)時(shí)的命令格式:
[屬性1:值1; 屬性2:值2]
注意 : 如果參數(shù)值包含分號(hào) ";" --- 則此參數(shù)值必須使用雙引號(hào).
例如: 等候一個(gè)類名 " 筆記本" 的窗口
WinWaitActive("[CLASS:Notepad]", "")
例如: 關(guān)閉當(dāng)前激活窗囗
WinClose("[ACTIVE]", "")
例如: 等候匹配屬性 2 的窗口: 窗口標(biāo)題 "我的窗口" 和類名 "我的類".
WinWaitActive("[TITLE:我的窗口; CLASS:我的類; INSTANCE:2]", "")
例如: 在窗口列表中,匹配正則表達(dá)式定義的類名
WinList("[REGEXPCLASS:#\d+]")
AutoIt 中的變量類型支持窗口句柄值 (HWND). 窗口句柄是窗口創(chuàng)建時(shí),由 Windows 自動(dòng)分配的特殊值.
窗口句柄可用來代替窗口的標(biāo)題參數(shù). 使用窗口句柄能夠更加精確地識(shí)別具有相同標(biāo)題/文本的窗口.
當(dāng)您使用窗口句柄作為標(biāo)題參數(shù)值,則文本參數(shù)是完全忽略的.
很多函數(shù)如 WinGetHandle, WinList 與 GUICreate 都能返回窗口句柄.
重要的是要注意, 窗口句柄不能歸類為數(shù)字或字符串 - 它是一個(gè)特殊的數(shù)據(jù)類型.
注意: 無論是否使用 WinTitleMatchMode 匹配模式選項(xiàng), 窗口句柄將始終工作.
示例
$handle = WinGetHandle("無標(biāo)題 - 記事本", "")
WinClose($handle)
provider with jb51.net (unicode) |