我需要我的插件能够使用外部工具编辑一些文件。有任何想法吗?
问问题
2621 次
1 回答
5
当提供路径时,此代码段显示或启动文件:
var localFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
localFile.initWithPath("C:\\some-directory\\some-file.png");
if(localFile.exists()){
// localFile.reveal(); // open the containing folder of the file
// localFile.launch(); // launch the file
}
但是,您可能需要使用nsIProcess才能运行带有参数的可执行文件(例如您尝试使用可执行文件打开的文件路径)。
var exeFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
exeFile.initWithPath("C:\\Program Files\\...\\app.exe");
var parameter="C:\\some-directory\\some-file.txt";
if(exeFile.exists()){
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(exeFile);
process.run(false,[parameter],1); // launch the executable with another file as parameter.
}
文档:
https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIFile https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsILocalFile https://developer.mozilla.org/en- US/docs/XPCOM_Interface_Reference/nsIProcess https://developer.mozilla.org/en-US/docs/Code_snippets/File_I_O
于 2013-05-26T04:50:42.367 回答