首页 > 解决方案 > HTML:如何从 HTML 网页执行 setup.exe 进程

问题描述

我在网络驱动器上有一堆应用程序,我想让用户通过单击按钮来执行它们。我已经研究了该主题,但在尝试构建网页时出现错误。我的老板让我通过网页而不是网络应用程序来做。如果不将其作为 ASP Web 应用程序,甚至不确定它是否可行。

代码:

<!DOCTYPE html>
<html>
<body>
<h1>Test App</h1>
<input id="clickMe" type="button" value="clickme" onclick="RunFile();" />
<script type="text/javascript" language="javascript">

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

到目前为止,这是我的文件夹中的内容: 在此处输入图像描述

当我测试它时,我在 IE 中遇到错误。我认为这段代码只能在 IE 中使用。我在这里某处读到,您只能使用 IE 执行此操作。我想通过 chrome 来做,但我不能或无法从 chrome 运行 exe。无论如何这里是错误:

SCRIPT429: Automation server can't create object

我想我丢失了一些文件或其他东西,以使其正常工作。老实说,我更喜欢将其构建为 Web 应用程序,但我必须先将其构建为 html 网页,直到我的老板批准。

标签: javascripthtmlinternet-exploreractivex

解决方案


由于安全原因,您不能从浏览器窗口运行应用程序。要执行文件,您需要使用 .HTA 应用程序(这是一个 HTML 应用程序)。HTA 应用程序像普通应用程序一样在浏览器窗口之外运行,并具有完全信任支持。

示例代码:

<html>
<head>
    <title>Application Executer</title>
    <HTA:APPLICATION ID="oMyApp" 

        APPLICATIONNAME="Application Executer" 

        BORDER="no"

        CAPTION="no"

        SHOWINTASKBAR="yes"

        SINGLEINSTANCE="yes"

        SYSMENU="yes"

        SCROLL="no"

        WINDOWSTATE="normal">
    <script type="text/javascript" language="javascript">
        function RunFile() {
        WshShell = new ActiveXObject("WScript.Shell");
        WshShell.Run("c:/windows/system32/notepad.exe", 1, false);
        }
    </script>
</head>
<body>
    <input type="button" value="Run Notepad" onclick="RunFile();"/>
</body>
</html>

输出:

在此处输入图像描述

参考:

如何使用 HTML 应用程序执行本地文件?


推荐阅读