从本地网页运行程序

时间:2011-03-24 16:07:32

标签: html windows-7 executable

我正在尝试使用网页作为自助服务终端的切入点。 html将在本地运行,我需要两件事:

<a href="c:\Users\Admin\Documents">...

这就像魅力一样

和..

<a href="c:\Program Files\Windows Live\Mail\wlmail.exe">...

(程序只是一个例子,所有程序都是一样的)

哪个有效但是..它提示下载文件,然后提示你启动它..有没有办法直接这样做,比如点击和bam你打开notepad.exe?也许使用java applet?

谢谢

感谢

修改

我知道它无法远程完成,我在谈论本地文件。 该文件将以c:\ myhtml.html的形式访问 并且只会打开已安装的文件,而不是网络。

5 个答案:

答案 0 :(得分:7)

如果我的问题是正确的,那么最接近你想要的就是使用* .hta这是一个HTML应用程序,它在浏览器窗口之外运行,就像普通应用程序一样。

<script type="text/javascript" language="javascript">
    function RunFile() {
    WshShell = new ActiveXObject("WScript.Shell");
    WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
    }
</script>

这里有更多信息: http://www.kunal-chowdhury.com/2010/09/how-to-execute-local-file-using-html.html

答案 1 :(得分:3)

实现此目的的正确方法是在Windows中创建自定义协议。 MSDN文章"Registering an Application to a URI Scheme"

中的详细信息

答案 2 :(得分:1)

不,这是安全问题,浏览器不允许这样做,因为只需单击链接就可以在没有提示的情况下运行应用程序存在安全风险。

有几种技术,如Java WebStart和ASP ClickOnce - 它们会或多或少地自动安装应用程序,对应用程序进行签名也有帮助 - 用户看起来不那么可怕的消息。

答案 3 :(得分:1)

如果我不理解你,请纠正我。如果你在本地运行网页(http:\ 127.0.0.1)并想在同一台机器上执行一个程序,它将取决于你正在使用的技术,例如在php中你可以使用exec()在用户输入上执行程序,但它将在服务器端运行。

答案 4 :(得分:1)

这当然是一个安全问题。但这不是问题,他之所以这样做的原因显然是另一个问题。

问题仍然存在:如何从CLIENT / SERVER端执行外部程序?

我找到了一些线索:

  • ActiveX:特定于IE,所以不太好,
  • Serverside javascript框架,比如Node.js:Server端?我甚至不知道这个框架...... ^^',
  • Crossbrowser插件可以增强可能性,而不是我的域名,
  • 在Media player classic中,你可以让他听一个端口,然后用它来调用程序,使用特定的命令URL,非常好,但是特定于软件。

我发现很多其他很酷的教程,但是工作非常繁重:每次我都要发现&amp;学习另一种技术。