我在 autohotkey 脚本中定义了一系列键盘快捷键。目前,当 notepad++ 获得焦点时,这些快捷键都不起作用。
脚本照常加载。键盘快捷键(主要是用于移动窗口)在任何其他窗口上都能完美运行,但如果 notepad++ 窗口处于焦点状态,它们就不起作用。同时,所有常规窗口快捷键都能正常工作,即使 notepad++ 处于焦点状态。因此,这是 notepad++ 和 autohotkey 之间的特定问题。
我在脚本中定义的快捷键与记事本的任何标准键盘快捷键都不冲突。有人知道发生了什么吗?
使用 Windows 7、notepad++ v5.8.1、autohotkey v1.0.48.03
答案1
对我来说,重新启动 Notepad++ 就足够了,所以先尝试一下。
答案2
我认为 autohotkey 将无法加载键盘钩子,除非您以管理员身份运行它。如果是这种情况,当另一个应用程序(notepad++ 或其他)获得焦点时,您的按键将不起作用。
(我在 autohotkey 和 winamp 上遇到过这种情况(尽管是间歇性的))
答案3
令人尴尬的是,我重启了电脑,现在一切恢复正常。我必须先学会这样做,然后才能在这里提问……
答案4
我将 Notepad++ 设置为始终以管理员身份运行,当 NP++ 获得焦点时,这似乎会干扰 AHK。
将此添加到我的脚本顶部解决了该问题。它允许您以任何方式加载脚本,然后如果尚未加载,它将以管理员身份重新启动它。
#SingleInstance, Force
SetWorkingDir %A_ScriptDir%
if (not A_IsAdmin) {
Run *RunAs "%A_ScriptFullPath%"
}
编辑:使用普通#SingleInstance, Force
脚本,您只需再次打开它即可覆盖它。
使用此脚本,要重新加载,您必须右键单击并以管理员身份运行它。
- 以非管理员身份加载脚本
- 脚本以管理员身份重新启动
- 用户双击脚本重新加载
- 该脚本尝试以非管理员身份加载,但无法终止具有管理员权限的脚本,因此无法启动。
重新加载脚本的其他方法应该可以正常工作。