我有一个非常简单的AutoHotkey.ahk
文件,我将Capslock
重新加载到Esc
,将Esc
重新加载到Capslock
(交换密钥):
Capslock::Esc
Esc::Capslock
然而,这在“战地4”或“英雄联盟”等游戏中并不起作用。它根本不做任何事情。
但是,我可以在AutoHotkey中按Reload This Script
,重新映射将在这些游戏中开始工作。但它确实可以在其他游戏中使用,而无需先重新加载脚本。
我希望你能帮助我。我真的希望这只是工作,而不是手动重新加载脚本。
答案 0 :(得分:0)
尝试使用#IfWinActive
指令,以便这些热键仅适用于您想要的程序 - 然后您不需要重新加载。
签入"上下文相关热键"的文档。 (在" hotkey"在索引中)。以下是文档中的示例:
#IfWinActive,ahk_class Notepad ^ a :: MsgBox在记事本处于活动状态时按 Ctrl - A 。在任何其他窗口中按 Ctrl - A 将通过 Ctrl - A 按键到该窗口。 #c :: MsgBox在记事本处于活动状态时按下了Win-C。
但我想我知道为什么它开始"不工作"。可能某些程序将这些键设置为热键。每当你启动这些程序时,他们都会设置自己的热键,它会覆盖你的脚本。你看,热键组合属于它持续的任何程序。当您重新加载脚本时,它会将您的脚本重置为具有authourity。
因此,如果您希望永远不会覆盖该脚本,并且您不想手动重新加载它,请找出这些组合无法使用的程序,并使用ifwinactive
重新加载您的脚本使用autohotkey' reload
命令。