WinActive

指定されたウィンドウがアクティブであるかどうかを調べ、そのユニークなID(HWND)を返します。

UniqueID := WinActive(WinTitle, WinText, ExcludeTitle, ExcludeText)

パラメータ

WinTitle, WinText, ExcludeTitle, ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。

ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。

戻り値

型:整数

この関数は、アクティブウィンドウが指定された条件に一致する場合はそのユニークID(HWND)を返し、一致しない場合は0を返す。

0以外の数値はすべて "true"とみなされるため、if WinActive(WinTitle)というステートメントは、WinTitleがアクティブであればいつでもtrueとなる。

備考

アクティブなウィンドウが適格に一致する場合、Last Found Windowはアクティブなウィンドウに更新されます。

アクティブウィンドウのユニークIDを取得する簡単な方法は、ActiveHwnd := WinExist("A")です。。

SetWinDelayは、この関数には適用されません。

WinExistSetTitleMatchModeDetectHiddenWindowsラストファウンドウィンドウWinActivateWinWaitActiveWinWaitWinWaitClose#HotIf

上記のWinActive関数によって見つかったメモ帳または別のウィンドウを閉じる。"ahk_"キーワードとその基準値の間のスペースは省略できることに注意してください。

if WinActive("ahk_class Notepad") or WinActive("ahk_class" ClassName)
    WinClose ; WinActive関数で見つかったウィンドウが対象になります。