<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>WinWaitActive / WinWaitNotActive</h1> <p>等待直到指定的窗口处于活动或不活动状态.</p> <pre class="Syntax"> <span class="func">WinWaitActive</span> <span class="optional">, WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText</span> <span class="func">WinWaitNotActive</span> <span class="optional">, WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText</span> </pre> <h2 id="Parameters">参数</h2> <dl> <dt>WinTitle</dt> <dd><p>窗口标题或识别目标窗口的其他条件. 请参阅 <a href="../misc/WinTitle.htm">WinTitle</a>.</p></dd> <dt>WinText</dt> <dd><p>如果使用此参数, 那么它必须是目标窗口中单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 当 <a href="DetectHiddenText.htm">DetectHiddenText</a> 的设置为 ON 时, 那么会检测到隐藏文本元素.</p></dd> <dt>Timeout</dt> <dd><p>超时前等待的秒数. 超时后设置 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 为 1. 留空以允许命令无限期等待. 指定 0 等同于指定 0.5. 此参数可以为<a href="../Variables.htm#Expressions">表达式</a>.</p></dd> <dt>ExcludeTitle</dt> <dd><p>标题中含有此参数值的窗口将被排除.</p></dd> <dt>ExcludeText</dt> <dd><p>文本中含有此参数值的窗口将被排除.</p></dd> </dl> <h2 id="ErrorLevel">ErrorLevel</h2> <p>命令超时后 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 被置为 1, 否则为 0.</p> <h2 id="Remarks">备注</h2> <p>如果匹配窗口符合了命令的要求, 那么此命令不再等待 <em>Timeout</em> 到期. 相反地, 它会立即设置 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 为 0 并让脚本继续执行.</p> <p>当 WinWaitActive 和 WinWaitNotActive 执行时如果符合条件的窗口是活动的, 那么它们都会更新<a href="../misc/WinTitle.htm#LastFoundWindow">上次找到的窗口</a>. 此外, 如果在 WinWaitActive 超时前符合条件的窗口变成活动窗口, 那么它会更新上次找到的窗口.</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="DetectHiddenWindows.htm">DetectHiddenWindows</a> 设置时, 才能检测到隐藏窗口.</p> <h2 id="Related">相关</h2> <p><a href="WinWait.htm">WinWait</a>, <a href="WinWaitClose.htm">WinWaitClose</a>, <a href="WinExist.htm">WinExist()</a>, <a href="WinActive.htm">WinActive()</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> 打开记事本, 最多等待 2 秒, 直到它被激活. 如果 WinWait 超时, 会显示一条错误信息, 否则记事本将被最小化.</p> <pre>Run, notepad.exe <em>; 中文系统中 Untitled - Notepad 应替换为 无标题 - 记事本.</em> WinWaitActive, Untitled - Notepad, , 2 if ErrorLevel { MsgBox, WinWait timed out. return } else WinMinimize <em>; 使用 WinWaitActive 找到的窗口.</em></pre> </div> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"93dca5d16ba16197","version":"2025.4.0-1-g37f21b1","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>