jin
jin

Reputation: 2145

How to run a local exe in my firefox extension?

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

Answers (2)

pawel
pawel

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

PTT
PTT

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

Related Questions