我有2个重复动作,我想要不断等待。具体来说,有几个窗口,当它们出现时,我希望AutoHotkey执行操作。例如,我想移动并调整标题"Window 1"
的窗口大小,并将y
按键发送到"Window 2"
。所以我有这个:
win1.ahk
While, 1
{
WinWaitActive, Window 1
WinMove, Window 1, , 100, 100, 800, 600
}
win2.ahk
While, 1
{
WinWaitActive, Window 2
send y
}
我的问题是,是否可以在同一个AutoHotkey脚本中放置多个此类操作。如果我想要等待30个不同的窗口,是否需要30个具有此格式的.ahk
个脚本,或者是否可以在一个脚本中注册多个操作?
答案 0 :(得分:0)
不,只有一个带有计时器和开关的脚本(如果您发送击键,则每个操作都有一个开关,这样他们就不会重复发送)。例如,取出notepadSentKey变量,看看打开新记事本时会发生什么。
#Persistent SetTimer, DoStuff, 100 notepadSentKey := false return DoStuff: { IfWinActive, % "Untitled - Notepad" { WinMove, A,, 0, 0, 500, 200 if (!notepadSentKey) { Send, Hello there{!} notepadSentKey := true } } IfWinActive, % "Calculator" { WinGetPos, x, y, w, h WinMove, A,, % (A_ScreenWidth/2)-(w/2), % (A_ScreenHeight/2)-(h/2) } return }