Window Titles and Text (Advanced)

AutoItには3つの"ウィンドウマッチング"モードがあります。 モードはAutoItSetOption関数で WinTitleMatchModeオプションを使用することで設定します。

 

モード 1 (デフォルト)

タイトル文頭からの部分一致

このモードではUntitled - Notepadというウィンドウタイトルは "Untitled - Notepad"、 "Untitled"、 "Un" などと一致します。

WinWait("Untitled")

 

モード 2

タイトル内の部分文字列一致

このモードではUntitled - Notepadというウィンドウタイトルは "Untitled - Notepad"、 "Untitled"、 "Notepad"、 "pad"などと一致します。

例.

WinWait("Notepad")

 

モード 3

完全一致

このモードではUntitled - Notepadというウィンドウタイトルは "Untitled - Notepad"にのみ一致します。

 

モード 4 (後方互換性の維持用)

アドバンスドモード

モード設定の必要ないアドバンスドウィンドウ記法(Advanced Window Descriptions)に置き換える必要があります。

 

モード -1 ~ -3

他のモードにと同じ動作ですが、アルファベット小文字での検索を行います。

 

 

アドバンスドウィンドウ記法(Advanced Window Descriptions)

ウィンドウのtitleパラメータとして使用できる特別な記法です。この記法を使って以下のプロパティからウィンドウを識別することが可能です:

ウィンドウコマンドのtitleパラメータでは以下のフォーマットで一つ以上のプロパティを使用できます:

[PROPERTY1:Value1; PROPERTY2:Value2]

注意 : Valueが";"を含む場合は二重にしてください。

 

例: "Notepad"というクラス名のウィンドウを待ちます

WinWaitActive("[CLASS:Notepad]", "")

 

例: 現在アクティブなウィンドウを閉じます

WinClose("[ACTIVE]", "")

 

例: "My Window"というタイトルかつ"My Class"というクラス名のウィンドウの2番目のインスタンスを待ちます

WinWaitActive("[TITLE:My Window; CLASS:My Class; INSTANCE:2]", "")

 

例: 正規表現で定義されたクラス名と一致するウィンドウをリストにします

WinList("[REGEXPCLASS:#\d+]")

 

 

ウィンドウハンドル / HWNDs

AutoItはウィンドウハンドル(HWNDs)型のデータをサポートしています。 ウィンドウハンドルはウィンドウが作成されたときに生成される特別な値です。 title/textを指定するタイプの全ての関数でハンドルをtitleパラメータに使用できます。 ウィンドウハンドルを使用する利点は、アプリケーションを多重起動した場合でも同じタイトル、テキスト を持つそれぞれのウィンドウをハンドルで識別できることです。 titleパラメータにウィンドウタイトルに使用するとtextパラメータは完全に無視されます。

WinGetHandleWinListGUICreate といった多くの関数がこのハンドルを返します。注意しなければならないのはウィンドウハンドルは数値でも文字列でも無いということです-それ自体1つの特別な型なのです。

 

注意:ウィンドウハンドルはどのWinTitleMatchModeであっても使用できます。

 

$handle = WinGetHandle("Untitled - Notepad", "")
WinClose($handle)