嗨,我正在疯狂地尝试编写这段代码,如果有人可以帮助我,我会很高兴? 基本上我需要一个在 Mythos 应用程序中工作的代码,它只在该应用程序中工作,当用户单击字母 F1 时,它应该开始运行循环,当他单击 F2 时,它会停止循环,也希望它不能在外部工作Mythos 窗口(最小化),但它一直在外面做,我对此感到疯狂。
这是代码:
#HotIf WinActive("Mythos")
*n::
Loop {
Send "{Click}"
Sleep 25
Send "SC002"
Sleep 25
Send "{Click}"
Sleep 25
}
*m::Suspend
#HotIf
您当前的代码使用
n
启动循环并使用 m
暂停脚本,而不是 F1
/F2
。暂停脚本不会终止循环,因此一旦您再次按 m
重新启动脚本,循环将从中断处继续。您可以创建一个切换来代替使用挂起:
#Requires AutoHotkey v2
loopToggle := 0
#HotIf WinActive("Mythos")
*n:: {
global loopToggle := 1
While loopToggle {
Send "{Click}"
Sleep 25
Send "SC002"
Sleep 25
Send "{Click}"
Sleep 25
}
}
#HotIf loopToggle
*m::global loopToggle := 0
请注意,我还为第二个热键使用了单独的
#HotIf
。这是因为,如果您的循环意外地取消了 Mythos 的焦点,您可能无法停止循环(只有当 Mythos 处于活动状态时,m
键才会激活)。