</head> <body> <h1>WinWait</h1> <p>指定されたウィンドウが存在するまで待ちます。</p> <pre class="Syntax"><span class="func">WinWait</span> <span class="optional">WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText</span></pre> <h2 id="Parameters">パラメータ</h2> <dl> <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt> <dd> <p>型:<a href="../Concepts.htm#strings">文字列</a>、<a href="../Concepts.htm#numbers">整数</a>または<a href="../Concepts.htm#objects">オブジェクト</a></p> <p>これらのうち少なくとも1つは必須である。<em>WinTitle</em>には <a href="../misc/WinTitle.htm">ウィンドウのタイトル</a>、またはターゲットウィンドウを識別するための<a href="../misc/WinTitle.htm">他の基準</a>、<em>WinText</em>にはターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。</p> <p><em>ExcludeTitle</em>と<em>ExcludeText</em>はウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方は<em>WinTitle</em>と<em>WinText</em>に似ていますが、<em>ExcludeTitle</em>はウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。</p> <p>ウィンドウのタイトルとテキストは大文字と小文字を区別します。<a href="DetectHiddenWindows.htm">DetectHiddenWindows</a>関数 と <a href="DetectHiddenText.htm">DetectHiddenText</a>関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。<a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかに<em>WinTitle</em>または<em>ExcludeTitle</em>を含んでいれば一致します。</p> </dd> <dt>Timeout</dt> <dd> <p>型:<a href="../Concepts.htm#numbers">整数</a>または<a href="../Concepts.htm#numbers">浮動小数点数</a></p> <p>省略した場合は、無期限に待機します。そうでなければ、指定された秒数以上待機することはありません。1秒未満の時間を待機するには、浮動小数点数を指定します。たとえば最大250ミリ秒待機するときは、0.25と指定します。</p> </dd> </dl> <h2 id="Return_Value">戻り値</h2> <p>型:<a href="../Concepts.htm#numbers">整数</a></p> <p>この関数は、一致するウィンドウが見つかればその<a href="../misc/WinTitle.htm#ahk_id">HWND(ユニークID)</a>を返し、タイムアウトした場合は0を返す。</p> <h2 id="Remarks">備考</h2> <p>マッチするウィンドウが存在するときは、<em>タイムアウト</em>になるまで待ちません。代わりに、<a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a>を更新して戻り、スクリプトの実行を続行できるようにする。</p> <p><em>WinTitle</em>が<a href="../misc/WinTitle.htm#ahk_id">ピュアHWND</a>(<a href="../Concepts.htm#numbers">Integer</a>またはHWNDプロパティを持つ<a href="../Objects.htm">Object</a>として)を指定した場合、隠しウィンドウは<a href="DetectHiddenWindows.htm">DetectHiddenWindows</a>を使用したときのみ検出されます。これは、WinWaitと<a href="WinWaitClose.htm">WinWaitClose</a>にのみ適用されます。他のウィンドウ関数の場合、ピュアHWNDを指定すると、DetectHiddenWindowsに関係なく隠しウィンドウが検出されます。</p> <p><em>WinTitle</em>が無効なピュアHWNDを指定した場合、関数は<em>タイムアウト</em>の時間切れを待たずに即座に戻ります。同じHWND値で別のウィンドウが作成されるのを待っても、2つのウィンドウの間には何の関係もない可能性が高いので、意味がない。</p> <p>関数が待機状態にある間、<a href="../Hotkeys.htm">ホットキー</a>、<a href="Menu.htm">カスタムメニュー項目</a>、または<a href="SetTimer.htm">タイマー</a>によって新しい<a href="../misc/Threads.htm">スレッド</a>を起動することができます。</p> <p>他の<a href="../misc/Threads.htm">スレッド</a>が、この関数のパラメータに使われていた変数の内容を変更しても、この関数にはその変更は反映されない。</p> <p><a href="WinWaitActive.htm">WinWaitActive</a>とは異なり、<a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a>は使用できない。したがって、ウィンドウ・パラメータ(<em>WinTitle</em>、<em>WinText</em>、<em>ExcludeTitle</em>、<em>ExcludeText</em>)の少なくとも1つは空白であってはならない。</p> <h2 id="Related">関連</h2> <p><a href="WinWaitActive.htm">WinWaitActive</a>、<a href="WinWaitClose.htm">WinWaitClose</a>、<a href="WinExist.htm">WinExist</a>、<a href="WinActive.htm">WinActive</a>、<a href="ProcessWait.htm">ProcessWait</a>、<a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>、<a href="DetectHiddenWindows.htm">DetectHiddenWindows</a></p> <h2 id="Examples">例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> メモ帳を開き、存在するまで最大3秒待つ。WinWait関数がタイムアウトしたときはエラーメッセージが表示され、そうでないときはメモ帳が最小化されます。</p> <pre>Run "notepad.exe" if WinWait("Untitled - Notepad", , 3) WinMinimize <em>; WinWait関数で見つかったウィンドウが対象となります。</em> else MsgBox "WinWait timed out." </pre> </div> </body> </html>