Code: Select all
DetectHiddenWindows, On ; 开启检测隐藏窗口
Run, xxx.exe,, Hide, pid ; 隐藏运行 xxx.exe,返回 pid
WinWait, % "ahk_pid " pid ; 等待此 pid 的窗口出现
假如 xxx.exe 启动后,它是先创建了一个隐藏窗口,然后再创建主界面的...那么以上代码等待到的窗口实际上是 xxx.exe 的隐藏窗口,而不是我们预期的主界面窗口。
严谨的做法是,加上窗口标题或者窗口文字作为检测条件。比如:
Code: Select all
WinWait, % "ahk_pid " pid, 目标窗口里的其中一段文字 ; 加上窗口文字
WinWait, % "目标窗口的窗口标题 ahk_pid " pid ; 或者窗口标题