如何使用ActiveXObject以HTML打开本地应用程序?

问题描述 投票:0回答:1

我想用 html 和 js 打开 PyCharm 项目

首先我尝试打开记事本

这是我的代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

    <button onclick="f()">Click me</button>

    <script type="text/javascript">
        function f() {
            WshShell = new ActiveXObject("WScript.Shell");
            WshShell.Run("C:\Windows\System32\notepad.exe", 1, false);
        }

    </script>
</body>
</html>
javascript html activexobject
1个回答
0
投票

首先,使用 ActiveXObject 从 HTML 打开本地应用程序是可能的,但它只能在 Internet Explorer (IE) 中工作,并且仅限于 Windows 环境。 其次,在 JavaScript 字符串中,反斜杠 () 需要用另一个反斜杠进行转义。因此,C:\Windows\System32 otepad.exe 应写为 C:\Windows\System32 记事本.exe。

因此,请将您的代码替换为以下代码:

<!DOCTYPE html>
<html>
<head>
  <title>Open Local App with ActiveX</title>
  <script type="text/javascript">
    function openNotepad() {
      try {
        var shell = new ActiveXObject("WScript.Shell");
        shell.Run("notepad.exe");
      } catch (e) {
        alert("ActiveXObject failed: " + e.message);
      }
    }
  </script>
</head>
<body>
  <button onclick="openNotepad()">Open Notepad</button>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.