XULアプリケーションの中から外部プログラムを実行する

以下のようなコードで外部のプログラムを呼び出すことができる。

  var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
  file.initWithPath("C:\\Program Files\\whine\\whinesend.exe");
  var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
  proc.init(file);
  var args = ["-t", title, "-m ", "\"" + sjis_str + "\""];
  proc.run(false, args, args.length);

上記は、Firefox拡張の中からWhineを呼び出してみた例。