2

我有一个自动发送脚本,它分两步工作:

  1. 它运行一个目标程序,并在程序中启动一个数据库更新命令。
  2. 在 WinWaitNotActive(即数据库更新完成)之后,它会在目标程序中运行第二个“搜索”命令

这工作正常,但速度太慢 - 数据库更新后最多 10-15 秒。有没有办法加快 WinWaitNotActive?我尝试使用 Sleep 8 秒而不是 WinWait,但有时第二个命令在数据库更新完成之前运行。

是否可以监视进程活动,并在第二个命令降至某个级别以下时运行它?

这是代码:

send !w::
Run "Target"
/'Update Command'
WinWaitNotActive, Target, , ,
Run "Target"
/'Search Command' "Search Term"
return
4

1 回答 1

1

您可以使用SetTimer所需的时间间隔来检查窗口状态。

Run "Target"
; /'Update Command'
SetTimer, CheckWindow, -200  ; this check the window every 200 milliseconds
return

CheckWindow:
    if WinActive, Target
        return
    Run "Target"
    ; /'Search Command' "Search Term"
    SetTimer, % A_ThisLabel, Off      ; stop the timer
Return
于 2012-11-30T06:48:37.620 回答