javascript - 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 网页,直到我的老板批准。
解决方案
由于安全原因,您不能从浏览器窗口运行应用程序。要执行文件,您需要使用 .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>
输出:
参考:
推荐阅读
- javascript - 如何使用 Reactive Form 向表单添加新控件而不会出现错误:“ERROR InternalError:”too much recursion”?
- linux - 汇编代码不识别?和@data
- javascript - 是否可以从文本区域接收输入并随后在同一文本区域中显示输出?
- javascript - 为什么我的 removeNumbersLessThan 功能无法正常工作?
- wordpress - 如何为核心块添加锚支持?
- python - 如何让pygame实时更新?
- java - 如何修复此 DataBinding 和 LiveData 代码?
- google-apps-script - 使用 apps-script-oauth2 库 - 授权后如何执行回调?
- python - Pandas unstack stack 用 nans 填充缺失的功能
- javascript - 如何将项目添加到 ScrollView 子项的顶部?