从Javascript运行.exe

时间:2010-06-30 19:01:34

标签: javascript internet-explorer

我正在尝试从Javascript运行.exe文件。这就是我所拥有的:

  

var oShell = new   的ActiveXObject( “Shell.Application”);
  var commandtoRun =“C:\ Documents and   设置\用户\桌面\ ABCD.exe“;   oShell.ShellExecute(commandtoRun, “”, “”, “打开”, “1”);

如果我只有前2行代码它似乎工作正常(它问我在IE中第一次打开时我想要activeX)但如果我添加最后一行(ShellExecute)似乎有错误。我想将参数传递给exe。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:15)

你需要逃避反斜杠,例如,

var commandtoRun = "C:\\Documents and Settings\\User\Desktop\\ABCD.exe";

<强>更新

这在我的机器上工作正常:

var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1");

更新2

您可以将其保存为扩展名为.hta的文件,并且该文件应该可以在您的浏览器中使用:

<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">
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:\\Windows\\notepad.exe"; 
oShell.ShellExecute(commandtoRun,"","","open","1");
</script>