为什么这个路径字符串使.hta找不到程序?

时间:2016-04-22 07:18:49

标签: html

我是编程的总菜鸟,但我发现这非常令人困惑。我想制作一个.hta程序,有一个按钮,当按下按钮打开任何程序,我可以找到一个路径。例如,以下代码中使用的原始语法导致记事本运行(路径没有其中的任何空格,在system32中),但是 - 没有其他程序我尝试这样做(更改路径,这应该只是一个2秒的交易 - 我在程序文件中尝试excel)工作。无论我做什么,.hta都找不到该程序。我已经听说代码中的空格是%20(尝试添加 - 没有),我已经尝试过三重引号 - 没有。 请帮助我理解.hta中程序的路径应该如何编写,所以我可以用它代替其他程序。

我已经读过这个(.htas)好几个星期了,有些东西比其他东西更容易理解,但这个只是一种侮辱,因为这不应该是我找到的最重要的问题之一在网上询问(哦,无数的帖子,我已经阅读过半个答案的解决方案;所有我尝试过的 - 没有用过)。

function RunFile(path){
    WshShell = new ActiveXObject("WScript.Shell");
    WshShell.Run(path, 1, false);}
</script>
<body>
<input type="button" value="Run Excel"  
    onclick="RunFile('C:\Program Files (x86)\Microsoft Office\Office14\excel.exe');"

请帮助我理解.hta计划 - 我很乐意学习它! 这是我的第一个问题,希望很多人在stackoverflow中提出这个问题

1 个答案:

答案 0 :(得分:0)

好的,所以在深入了解之后我发现确实%20替换了空格,并且从其他任何地方运行程序,似乎你需要添加&#34; file:/// path&# 34;,让它发挥作用。

这对我有用:

function RunFile(){
        WsShell = new ActiveXObject("WScript.shell");
        WsShell.run("file:///C:/Program%20Files%20(x86)/Microsoft%20Office/Office14/excel.exe");
}
</script>
<body>
<input type="button" value="Run Excel" onclick="RunFile();"/>