从网页打开应用程序

时间:2016-04-07 09:54:23

标签: javascript windows internet-explorer 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:\Program Files\Notepad++\notepad++.exe", 1, false);
        }
    </script>
</head>
<body>
    <input type="button" value="Run Notepad" onclick="RunFile();"/>
</body>
</html>

这很有效。

当我尝试使用应用程序,记事本++,Dreamweaver等时,它会失败。

在控制台中,错误标记在行

WshShell.Run("C:\Program Files\Notepad++\notepad++.exe", 1, false);

让我认为错误与应用程序的类型有关

是否有可以使用此方法打开的应用程序列表?如何使用此方法打开Microsoft应用程序,word / excel和其他应用程序?

1 个答案:

答案 0 :(得分:1)

Two probs:

  1. If the path contains spaces you need to surround it with quotes
  2. This is JavaScript so \ in a string is a special character used to indicate escape sequences, to put a \ in a string it must be escaped itself as \\

Use:

 WshShell.Run('"C:\\Program Files\\Notepad++\\notepad++.exe"', 1, false);