如何使用JavaScript激活AutoHotkey脚本?

时间:2013-08-28 09:03:53

标签: javascript jquery google-chrome-extension autohotkey

我正在开发Chrome扩展程序以帮助自动执行任务。我已经达到了我需要扩展来触发一些AutoHotkey脚本的程度。

有什么办法可以使用JavaScript触发AutoHotkey吗? (我也使用jQuery)

2 个答案:

答案 0 :(得分:2)

HTTP路由可能是正确的方法。您可以使用Node.js Node.js轻松设置一个小型服务器,并使用Child Process函数之一生成AHK脚本。我不知道Chrome扩展程序安全模型的工作原理,因此您可能必须减轻跨站点脚本问题。我认为这是可以解决的,但还没有这样做。

答案 1 :(得分:1)

通常,我会想到两种方式:

<强> 1。使用AHK模拟HTTP服务器

使用自己的本地Web服务器(理想情况下是第一手AHK实现),您可以通过AJAX调用直接进行通信。然后,服务器可以接收和委托任何类型的命令。 对于AHK,存在Sparrow,但项目似乎已经死了,帖子中的源代码链接已关闭;你必须从其他地方(例如一些svn存储库)获取它们。您还可以实现KF Web Server之类的命令行工具,并将其与脚本结合使用。

<强> 2。定义自己的协议

另一种解决方案是简单地指定您自己的协议并将其分配给可执行文件,例如您的脚本或某种调度程序,它会根据您传递的参数启动其他应用程序。 This answer描述了如何在Windows中定义自己的协议。您还可以查看相应的windows documentation 如果您能够使用JavaScript从浏览器中调用自定义协议,则很大程度上取决于您的浏览器,也可能取决于其安全设置。你需要检查一下你的环境。

安全
无论您采用何种解决方案,为网页提供运行应用程序甚至执行代码的能力都会带来严重的漏洞。如果攻击者发现您的协议,网络服务器等,当您访问由他们控制的网站时,他们可以轻松地注入自己的内容。这就是为什么你至少应该实现两件事: a)使用某种认证机制(例如HMAC)。这使得剥削至少有点困难 b)从不直接执行参数作为代码。总是解析它们并检查它们的完整性。