当某些程序处于焦点时,如何自动禁用/暂停 Autohotkey?

当某些程序处于焦点时,如何自动禁用/暂停 Autohotkey?

我的脚本已经有很多 #IfWinActive 行,并且我目前在许多全局热键上使用 #IfWinNotActive,以便在某个窗口处于活动状态时禁用它们。但是,这不是一个非常干净的解决方案,现在我有多个程序想要禁用我的热键。目前,我手动暂停和取消暂停我的脚本,但这非常繁琐。

我想知道是否有一种方法可以在某个程序处于活动状态时自动暂停脚本,并在程序失去焦点时取消暂停。

答案1

有一种方法,我使用一个#如果指令在我的所有脚本的开头(使用#包括):

#if (!WinActive("ahk_exe sublime_text.exe") && !WinActive("Tinychat"))

如果出现以下任一情况,这将禁用我所有脚本中的热键:进程 Sublime Text(从任何目录执行)处于活动状态,或 Tinychat 在任何浏览器中处于活动状态。您可以更改/添加条件到此行以更改/添加要排除的进程/窗口/选项卡。

答案2

如果脚本被挂起,那么它如何取消挂起?最好的办法是将主脚本放在线并让另一个线程负责暂停和恢复第一个线程。

相关内容