AutoIt v3 其中最優(yōu)秀的新功能就是提供了直接操作某些窗口控件的支持.
在窗口上能看到的東西大多都是以下控件的一種:按鈕、列表框、文本編輯框、靜態(tài)文本等.
其實(shí)筆記本就是一個大的"編輯" 控件!
AutoIt 能直接控制它們, 使得實(shí)現(xiàn)窗口自動化操作更加可靠, 不僅僅是發(fā)生鍵擊而已.
注意: AutoIt 僅支持標(biāo)準(zhǔn)的 Microsoft 控件 - 有些應(yīng)用程序自己寫的自定義控件看起來很像是標(biāo)準(zhǔn)的 MS 控件,
但可能會抵制自動化操作,那就只能靠您的經(jīng)驗(yàn)判斷了!
打開 AutoIt 窗口信息工具, 試著把鼠標(biāo)移到自己感興趣的窗口. AutoIt 窗口信息工具窗口將顯示當(dāng)前鼠標(biāo)位置的控件信息.
特別說明:大多數(shù)時(shí)候 controlID(控件 ID) 被作為參數(shù)使用, 如 Control...() 函數(shù).
這種描述可以用來識別控制的下列屬性:
一或多個控件屬性命令以下面的格式在 controlID 變量中使用:
[ 屬性1:值1; 屬性2:值2 ]
注意: 如果不使用這個特定格式, 則變量參數(shù)的是 控件ID(如果是數(shù)值) 或者 控件類名/控件文本(如果是字串).
雖然這個格式書寫較長, 但較其它方法要準(zhǔn)確得多. 如果一個參數(shù)值包含分號, 則必須使用雙引號. 如 ";".
例如, 將文本送到筆記本的編輯控件:
ControlSend("無標(biāo)題 - 記事本", "", "[CLASS:Edit; INSTANCE:1]", "發(fā)送測試文本")
或
ControlSend("無標(biāo)題 - 記事本", "", "[CLASSNN:Edit1]", "發(fā)送測試文本")
或
ControlSend("無標(biāo)題 - 記事本", "", "Edit1", "發(fā)送測試文本")
又例如, 單擊 "我的窗口" 的控件(控件ID 254):
ControlClick("我的窗口", "", "[ID:254]")
或
ControlClick("我的窗口", "", 254)
例如, 設(shè)置 .NET Winforms 的控件 "textBoxFolder" 文本為 "C:\Some\Folder":
ControlSetText("我的窗口", "", "[NAME:textBoxFolder]", "C:\Some\Folder")
再例如, 點(diǎn)擊第二個包含"完成"文本的 "Button" 控件:
ControlClick("我的窗口", "", "[CLASS:Button; TEXT:完成; INSTANCE:2]")
使用ControlGetHandle 函數(shù)你可以確定控件的 句柄 或稱為 HWND. 句柄是 Windows 提供給控件的獨(dú)特標(biāo)識符.
每個被創(chuàng)建的控件都具有不同的句柄. 用戶在使用控件句柄來對控件操作之前,應(yīng)該確定自己對句柄是非常熟悉的.
請到這里 函數(shù)參考 \ 窗口管理 \ 控件 查看控件函數(shù)的說明.
provider with jb51.net (unicode) |