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

Man*_*ghe 5 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(); 
Run Code Online (Sandbox Code Playgroud)

Wla*_*ant 10

你之前忘记了一个反斜杠MJ:

file.initWithPath("C:\\Users\\MJ\\Desktop\\Example.FaceDetection.exe");
Run Code Online (Sandbox Code Playgroud)

因此,您的应用程序无法执行,因为它未找到.也就是说,运行应用程序的更好方法通常是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);
Run Code Online (Sandbox Code Playgroud)

  • @MangalaEdirisinghe:请停止唠叨我的评论.我已经给你一个答案,我不打算为你调试你的扩展. (4认同)