问题
我在电脑上安装了 AHK,在同一个文件夹 /ahk-script 中有几个文件(例如 programmen.ahk 和 grammatik.ahk)
我可能安装了某些程序,因为脚本无法正常工作,我注意到设置标题匹配模式肯定是 不工作应该如此。有时当我按下热键时,它会起作用,但大多数时候它不起作用。
我不知道这是什么,也许我安装了某个程序?我该如何解决这个问题?
(我天真地以为这是因为我从 Aero 切换到了 Basic,所以我不是超级用户,但需要超级用户的帮助。我想我可以按照你的指示去做,特别是因为 AHK 对我来说非常重要。)
用例和脚本示例
这很遗憾,因为这就是我激活最常用的程序的方式:Chrome、notepad++、explorer、evernote、日历。
以下是一些以前可以工作但现在不起作用的脚本
记事本++
^!::
SetTitleMatchMode 2
IfWinExist Notepad++
WinActivate, Notepad++
else
run "c:\Program Files (x86)\Notepad++\notepad++.exe"
return
铬合金
^.::
SetTitleMatchMode 2
IfWinExist Google Chrome
WinActivate, Google Chrome
else
run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
return
答案1
我该如何解决这个问题?
- 尝试使用完整的标题来测试热键代码本身。
- 列出 AHK 看到的所有窗口
WinGet, OutputVar, List
。 - 测试
SetTitleMatchMode, Fast|Slow
- 检查是否
AutoHotkey.exe
“以管理员身份运行”(以及是否有区别) - 尝试最新的AHK 1.1(又名 AHK_L)和/或1.0 版本版本
答案2
问题出在您使用的热键组合 (CTRL+ALT) 上。如果您更改热键组合 (例如更改为 CTRL+ALT+z),您的脚本应该可以正常工作。我不知道它无法与 (CTRL+ALT) 配合使用的确切原因,但我认为其他应用程序正在使用该热键组合,并且存在某种冲突。以下是使用 CTRL+ALT+z 热键组合的记事本示例脚本,并且按预期工作。
^!z::
SetTitleMatchMode 2
IfWinExist Notepad
WinActivate, Notepad
else
run "notepad.exe"
return