如何使用firefox插件执行外部应用程序?

时间:2012-07-17 16:45:50

标签: firefox firefox-addon

我尝试使用nsIProcess执行.exe文件。但它没有工作,也没有给出任何错误信息。我正在使用firefox 10和Windows 7.任何人都可以建议我解决方案吗?感谢

var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIProcess);
file.initWithPath("C:\\Users\MJ\\Desktop\\Example.FaceDetection.exe");  
file.launch(); 

1 个答案:

答案 0 :(得分:10)

您在MJ之前忘了一个反斜杠:

file.initWithPath("C:\\Users\\MJ\\Desktop\\Example.FaceDetection.exe");

因此,您的应用程序无法执行,因为找不到它。也就是说,运行应用程序的更好方法通常是nsIProcess - 它允许您指定命令行参数,它还将提供有用的反馈:

var params = ["foo", "bar"];
var process = Components.classes["@mozilla.org/process/util;1"]
                        .createInstance(Components.interfaces.nsIProcess);
process.init(file);
process.run(false, params, params.length);