开发者问题收集

如何使用 Javascript 根据按钮点击事件运行 .exe 文件或 .bat 文件

2016-03-19
49079

在我当前的项目中,我想使用 JavaScript 的按钮单击事件运行 .bat 或 .exe 文件。批处理文件的内容如下所示:

start "S:\" TemperatureSensor.exe

单击“TemperatureSensor”按钮时启动“TemperatureSensor.exe”文件。 HTML 页面的代码如下所示:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to make a BUTTON element with text.</p>

<button onclick="window.open('file:///S:/Test.bat')">Temperature Sensor</button>

</body>
</html>

当我单击“Temperature Sensor”按钮时,它应该运行 Test.bat 文件,但它只是在新页面中显示以下内容:

在此处输入图像描述

我遗漏了吗?是否可以使用按钮单击事件运行 .exe 文件?

更新: HTML 页面的代码如下所示:

<!DOCTYPE html>
<html>
<body>

<p>Click the button to make a BUTTON element with text.</p>

<button onclick="myFunction()">Temperature Sensor</button>

<script>
function myFunction() {
      var oShell = new ActiveXObject("Shell.Application");

var commandtoRun = "C:\\TemperatureSensor.exe";
if (inputparms != "") {
var commandParms = document.Form1.filename.value;
 }

 // Invoke the execute method.  
 oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1");
 }
 </script>

 </body>
 </html>

当我单击“温度传感器”按钮时,它显示错误: 未捕获的 ReferenceError:未定义 ActiveXObject

2个回答

只需将此代码保存为 RunExe.hta 而不是 RunExe.html ,然后双击执行即可!

编辑:关于 (HTA) (HTML 应用程序)

HTML 应用程序 (HTA) 是一个 Microsoft Windows 程序,其源代码由 HTML、动态 HTML 和一种或多种 Internet Explorer 支持的脚本语言(如 VBScript 或 JScript)组成。

HTML 用于生成用户界面,脚本语言用于程序逻辑。

HTA 的执行不受互联网浏览器安全模型的约束;事实上,它作为“完全受信任”的应用程序执行。

进一步阅读 HTA HTML 应用程序

<html>
<head>
<title>Run Exe or Bat files from HTA by Hackoo</title>
<HTA:APPLICATION
  APPLICATIONNAME="Run Exe or Bat files from HTA by Hackoo"
  ID="MyHTMLapplication"
  VERSION="1.0"/>
</head>
<script>
function RunExe(){
    var shell = new ActiveXObject("WScript.Shell");
    var path = '"S:/Test.bat"';
    shell.run(path,1,false);
}
</script>
<input style="width: 170px; height:23px; color: white; background-color: #203040; 
font-family:Book Antiqua;" type="button" Value="Temperature Sensor" onClick="RunExe();"
</html>
Hackoo
2016-03-19

如果您使用的是 Firefox,则可以使用此 插件 打开批处理或 exe 文件。

由于安全限制,默认情况下不会在浏览器中打开 exe 和批处理文件。

在插件的更高版本中,将启用 exe 文件的首选项,并且默认情况下将禁用这些文件。

但目前,您可以创建类似 <a href="file://c:/test.bat">test</a> 的链接,然后单击启动文件。

AWolf
2016-03-19