我正在尝试运行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将按预期启动。
任何人都可以帮忙解释一下我需要做什么吗?
答案 0 :(得分:3)
来自AHK docs:
加载脚本后,它开始在顶行执行, 继续直到返回,退出,热键/热字符串标签,或者 遇到脚本的物理结束(以先到者为准)。 脚本的这个顶部部分称为自动执行 部分。
因此,如果您希望在脚本启动时执行一次某些操作,则必须在定义热键/热字符串,子例程或使用Return
之前将其放在脚本的最顶层。 Exit
。或者,您可以定义一个子程序,然后在自动执行部分中调用该程序。
在脚本中定义热键然后立即终止(ExitApp
)没有多大意义。一旦脚本不再运行,它的热键就不会有任何效果。
根据你的新评论,让脚本一直运行并且只将你的热键绑定到IE的窗口更合理:
#IfWinActive ahk_exe iexplore.exe
^n::return
没有理由与IE一起启动/终止您的脚本。简单的AHK脚本的内存消耗是微不足道的。但是,无论何时想要启动IE,都可以获得无法启动脚本的巨大优势。当外部程序启动IE时(例如,您在PDF中打开链接),这尤其有用。我建议你自动启动这个脚本。