Autohotkey 有没有办法加快WinWaitNotActive的速度?
我有一个自动发送脚本,它分两步工作:Autohotkey 有没有办法加快WinWaitNotActive的速度?,autohotkey,Autohotkey,我有一个自动发送脚本,它分两步工作: 它运行一个目标程序,并在程序中开始一个数据库更新命令 WinWaitNotActive(即数据库更新完成)后,它将在目标程序中运行第二个“搜索”命令 这工作正常,但速度太慢-在数据库更新后最多10-15秒。有没有办法加快WinWaitNotActive的速度?我尝试使用Sleep代替WinWait长达8秒,但有时第二个命令会在数据库更新完成之前运行 是否可以监视流程活动,并在流程活动降至某个级别以下时运行第二个命令 代码如下: send !w:: Run "
send !w::
Run "Target"
/'Update Command'
WinWaitNotActive, Target, , ,
Run "Target"
/'Search Command' "Search Term"
return
您可以使用
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
是否有其他更新完成的迹象?如果完成大约需要8秒,窗口失去焦点需要10-15秒,那么在这2-7秒内会发生什么?会出现一个通知栏图标,显示数据库更新的完成进度百分比。这在我的计算机上所花费的时间各不相同,而在一台功能较差且维护较差的计算机上所花费的时间会更长。更新完成后,托盘图标消失,没有可见的活动,直到WinWait检测到不活动(甚至在20-30秒之后),然后运行第二个命令并打开目标程序中的搜索窗口。