Reputation: 2145
I want to run a local exe in my firefox extension javascript file, but ActiveXObject("WScript.Shell") is work fine in IE,not in FF,how to run a local exe in js in firefox.
Upvotes: 5
Views: 18128
Reputation: 36965
Since you've explicitly asked for an .exe then you can use nsILocalFile.launch()
:
https://developer.mozilla.org/en/Code_snippets/Running_applications
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\myapp.exe");
file.launch();
If you wanted to make it cross-platform you should look into nsIProcess
Upvotes: 9
Reputation: 556
Hi all those who are trying to invoke an exe using javascript in mozilla firefox. Follow the steps.. I am able to run exe from my website.
Step 1. Type "about:config" in address bar and make "signed.applets.codebase-principal-support" true. Step 2. Use this code.
<html>
<head>
</head>
<body>
<p/><input type="button" width="15" value="Run Exe" onclick="RunExe();"/></input></p>
<script type="text/javascript">
function RunExe()
{
alert("In fun RunExe()..");
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
alert("Done");
var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath("c:\\WINDOWS\\notepad.exe");
alert("exe");
var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
run.init(exe);
var parameters = [""];
run.run(false, parameters,parameters.length);
alert("in function RunBat");
}
</script>
</body>
</html>
Upvotes: 0