我试图获取主要firefox应用程序的位置,以便我可以使用nsIProcess打开它。
使用此代码我可以获得此应用程序所在的文件夹:
alert(Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("CurProcD", Ci.nsIFile).path)
//returns C:\Program Files\Aurora\browser
MDN article on nsIDirectoryService
然而在Windows中它的firefox.exe我不知道它在其他操作系统中会是什么。那么有没有任何通用的跨平台版本来获取主启动器文件,我可以这样打开:
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(execFile);
var args = ["-safe-mode"];
process.run(false, args, args.length);
答案 0 :(得分:1)
您必须使用(隐藏)键XREExeF
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var exefile = FileUtils.getFile("XREExeF", [])