Reputation: 31
I have a webpage that needs to run a program by ActiveX with some parameters.
I get those parameters with the following bit of JavaScript:
var var1 = getUrlParameter("par1", false);
var var2 = getUrlParameter("par2", false);
var var3 = getUrlParameter("par3", true);
var var4 = getUrlParameter("par4", true);
I'm creating a new ActiveX Object:
MyObject = new ActiveXObject("WScript.Shell")
Then I need to run a command, I've tried several options with double and single quotes but nothing works. Sometimes the program isn't started at all, sometimes the variables aren't getting through. I've tried:
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+"\"");
Upvotes: 1
Views: 5036
Reputation: 31
After some more hours of trying if found it!
MyObject.Run('"C:\\Path with\\some spaces\\program.exe"' + " " + "D:\\pathtoafile" + " " + "/PARAM:/para1="+var1+"\,/para2="+var2+"\,/para3="+var3+"\,/para4=\""+var4+"\"");
Upvotes: 1