如何从网页运行自动热键文件?

时间:2016-02-22 07:19:04

标签: autohotkey

有没有办法使用任何(HTML - JS - PHP)从网页调用或运行.ahk文件?  我需要通过链接或按钮点击我的网页启动ahk文件

2 个答案:

答案 0 :(得分:0)

这是一个如何通过使用一些邪恶的activeX来完成它的例子。 以前可以使用Internet Explorer中的activeX访问用户的整台计算机。现在ActiveX大多是禁用的。但我们仍然可以创建.hta文件来呈现html等,这些文件允许使用activeX。

尝试将其保存为something.hta

<!DOCTYPE html>
<head>
    <meta http-equiv='X-UA-Compatible' content='IE=9'>
    <script language="JScript">window.resizeTo(200,100);</script> 
    <script language="JScript">
        function runAhkScript() {
            var ahkExePath = "C:/Program Files/AutoHotkey/AutoHotkey.exe";
            var scriptToExecute = "C:/aaa/a.ahk";
            new ActiveXObject("Shell.Application").ShellExecute(ahkExePath, scriptToExecute)
        }
    </script>
</head>

<body>
    <a href="#" onclick="runAhkScript()">Run the autohotkey script</a>
</body>

调整autohotkey.exe和脚本的路径,并确保在pathes中使用正斜杠。

答案 1 :(得分:-1)

通过远程服务器(甚至是localhost)访问网页时,您无法做到这一点。如果您在本地计算机上访问您的网页(例如,在浏览器中键入&#34; file:///C:/path/my web page.html&#34;),并且将Internet Explorer用作浏览器,则可能尝试:

    <button onclick="window.open('file:///C:/path/my ahk script.ahk')">
        Launch My AHK Script
    </button>

或者,你可能必须这样试试:

    <button onclick="Process.Start('C:\path\my ahk script.ahk')">
        Launch My AHK Script
    </button>

(但也许可以将斜杠切换为&#34; /&#34;或添加&#34; file:\\&#34;(尝试使用两个或三个斜杠,并在每个方向上)。

H个,