从Javascript运行.exe

Man*_*ish 15 javascript internet-explorer

我试图从Javascript运行.exe文件.这就是我所拥有的:

var oShell = new ActiveXObject("Shell.Application");
var commandtoRun ="C:\ Documents and Settings\User\Desktop\ABCD.exe"; oShell.ShellExecute(commandtoRun, "", "", "打开", "1");

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

有谁知道怎么做?

Red*_*ter 15

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

var commandtoRun = "C:\\Documents and Settings\\User\Desktop\\ABCD.exe";
Run Code Online (Sandbox Code Playgroud)

更新:

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

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

更新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>
Run Code Online (Sandbox Code Playgroud)