Launching an application with XPCOM
Mar 30 2014 ยท Random
Continuing to document my work with XULRunner, XUL, and XPCOM, here I’m presenting code on how to launch an executable using XPCOM’s nsILocalFile interface fetch the executable file and the nsIProcess interface to execute the process.
// target = path to executable
// args = arguments for executable
function exec(target, args) {
try {
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(target);
var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
process.init(file);
var args = [''];
process.run(false, args, args.length);
return process;
}
catch (err) {
alert(err);
return null;
}
}