Skip to content

Instantly share code, notes, and snippets.

@fovtran
Created June 18, 2013 11:18
Show Gist options
  • Save fovtran/5804574 to your computer and use it in GitHub Desktop.
Save fovtran/5804574 to your computer and use it in GitHub Desktop.
Mozilla and IE host process execution
var environment = Components.classes["@mozilla.org/process/environment;1"].
getService(Components.interfaces.nsIEnvironment);
var path = environment.get('PATH');
function RunExe(path) {
try {
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("msie") != -1) {
MyObject = new ActiveXObject("WScript.Shell")
MyObject.Run(path);
} else {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath(path);
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);
}
} catch (ex) {
alert(ex.toString());
}
}
<a href="#" onclick="javascript:RunExe('defrag.exe');">Defrag</a>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment