如何用AutoHotkey禁用ctrl-n?

时间:2014-05-30 13:41:08

标签: autohotkey

我正在尝试运行kiosk模式浏览器,我想禁用 Ctrl - N 打开一个新窗口。我不想在JS中这样做(我只希望在kiosk模式下禁用 Ctrl - N ,并且无论如何它不是't&t; t可以在Chrome中使用。)

我刚刚发现AutoHotkey是一种可能的解决方案,但我是一个完整的新手。我写了这个,但它不起作用:

^n::return
RunWait C:\Program Files\Internet Explorer\iexplore.exe
ExitApp

使用SciTE调试器,它永远不会从执行第一行返回。我明白第一行会忽略 Ctrl - N ,但似乎我完全误解了有关如何处理热键的问题。如果我注释掉第一行,IE将按预期启动。

任何人都可以帮忙解释一下我需要做什么吗?

1 个答案:

答案 0 :(得分:3)

来自AHK docs

  

加载脚本后,它开始在顶行执行,   继续直到返回,退出,热键/热字符串标签,或者   遇到脚本的物理结束(以先到者为准)。   脚本的这个顶部部分称为自动执行   部分。

因此,如果您希望在脚本启动时执行一次某些操作,则必须在定义热键/热字符串,子例程或使用Return之前将其放在脚本的最顶层。 Exit。或者,您可以定义一个子程序,然后在自动执行部分中调用该程序。

到你的代码

在脚本中定义热键然后立即终止(ExitApp)没有多大意义。一旦脚本不再运行,它的热键就不会有任何效果。

修改

根据你的新评论,让脚本一直运行并且只将你的热键绑定到IE的窗口更合理:

#IfWinActive ahk_exe iexplore.exe
^n::return

没有理由与IE一起启动/终止您的脚本。简单的AHK脚本的内存消耗是微不足道的。但是,无论何时想要启动IE,都可以获得无法启动脚本的巨大优势。当外部程序启动IE时(例如,您在PDF中打开链接),这尤其有用。我建议你自动启动这个脚本。