我有一个非常简单的 AutoHotkey 脚本,它监听某些按键以运行 Windows 快捷方式文件 (lnk):
F21::
Run "C:\Users\djcim\Google Drive\Powershell Scripts\Admin Shortcuts\djcim\StartOBS.lnk"
Return
F22::
Run "C:\Users\djcim\Google Drive\Powershell Scripts\Admin Shortcuts\djcim\StopOBS.lnk"
Return
在大多数情况下,它似乎都能捕捉到按键,但是当我专注于某些程序(如 OBS 或 VSCode)时,什么也没有发生。
这些程序是否以某种方式阻止 AutoHotkey 捕获这些按键?我已经验证这些程序都没有使用 F21 或 F22 作为程序中的快捷方式。
我确定您指的是 F11 和 F12。
如果您正在运行具有管理员权限的应用程序,同时,如果 AHK 正在以较低权限运行,那么 AHK 将不会拦截按键,这很可能就是您所描述的问题背后的原因。
如果是这种情况,解决方案是以与您提到的其他应用程序相同的权限运行 AHK 脚本。
更多信息:
https://stackoverflow.com/questions/1890351/why-is-visual-studio-catching-key-events-before-autohotkey