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

Kev*_*Lau 2 autohotkey

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

我想知道是否有办法在某个程序处于活动状态时自动挂起脚本,并在程序失去焦点时取消挂起。

小智 5

有一种方法,我在所有脚本的开头使用单个#If指令(使用#Include前置)来执行此操作

#if (!WinActive("ahk_exe sublime_text.exe") && !WinActive("Tinychat"))
Run Code Online (Sandbox Code Playgroud)

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