我正在尝试从Javascript运行.exe文件。这就是我所拥有的:
var oShell = new 的ActiveXObject( “Shell.Application”);
var commandtoRun =“C:\ Documents and 设置\用户\桌面\ ABCD.exe“; oShell.ShellExecute(commandtoRun, “”, “”, “打开”, “1”);
如果我只有前2行代码它似乎工作正常(它问我在IE中第一次打开时我想要activeX)但如果我添加最后一行(ShellExecute)似乎有错误。我想将参数传递给exe。
有谁知道怎么做?
答案 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>