在Javascript中运行命令Wscript.shell ActiveX

在Javascript中运行命令Wscript.shell ActiveX,javascript,html,activex,Javascript,Html,Activex,我有一个网页,需要通过ActiveX运行带有一些参数的程序。 我使用以下JavaScript代码获取这些参数: var var1 = getUrlParameter("par1", false); var var2 = getUrlParameter("par2", false); var var3 = getUrlParameter("par3", true); var var4 = getUrlParameter("par4", true); 我正在创建一个新的ActiveX对象: MyO

我有一个网页,需要通过ActiveX运行带有一些参数的程序。
我使用以下JavaScript代码获取这些参数:

var var1 = getUrlParameter("par1", false);
var var2 = getUrlParameter("par2", false);
var var3 = getUrlParameter("par3", true);
var var4 = getUrlParameter("par4", true);
我正在创建一个新的ActiveX对象:

MyObject = new ActiveXObject("WScript.Shell")  
然后我需要运行一个命令,我尝试了几个双引号和单引号的选项,但没有任何效果。有时程序根本没有启动,有时变量无法通过。 我试过:

MyObject.Run(""C:\\Path with\\some spaces\\program.exe" D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");
MyObject.Run('"C:\\Path with\\some spaces\\program.exe" D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"');
MyObject.Run("'C:\\Path with\\some spaces\\program.exe' D:\\pathtoafile /PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");

经过几个小时的尝试,如果找到它

MyObject.Run('"C:\\Path with\\some spaces\\program.exe"' + " " + "D:\\pathtoafile" + " " +  "/PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");

我认为应该重命名变量,因为我怀疑它们不是有效的名称。例如,尝试p1、p2、p3、p4。另外,如果这是从网页运行的,我希望
WScript.Shell
ActiveX对象被阻止为不安全的对象。否则,恶意网站可能会在您的系统上运行任何命令。此外,AeroX说:只有在允许的情况下,ActiveXs才能在IE中工作(尽管我不允许任何网页运行ActiveXs)。ActiveX是允许的。我用“警报”来测试它,这是我在VAR通过时可以看到的。