如何使用 Javascript 根据按钮点击事件运行 .exe 文件或 .bat 文件
在我当前的项目中,我想使用 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 。
只需将此代码保存为 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>
如果您使用的是 Firefox,则可以使用此 插件 打开批处理或 exe 文件。
由于安全限制,默认情况下不会在浏览器中打开 exe 和批处理文件。
在插件的更高版本中,将启用 exe 文件的首选项,并且默认情况下将禁用这些文件。
但目前,您可以创建类似
<a href="file://c:/test.bat">test</a>
的链接,然后单击启动文件。