たとえば、次のコマンドを実行したいと思います。
notepad C:\file.txt
Firefox アドオンとnsIProcessを使用します。私はすでに次のようなコードを書いています:
var exepath = "C:\Windows\System32\cmd.exe";
var args = ["/c", "notepad", "C:\file.txt"];
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(exepath);
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(file);
process.run(true, args, args.length);
しかし、私は窓を開けたくありません。このウィンドウを開かずにコマンドを実行することはできますか?
cmd.exe /C start notepad
コマンドの実行後にこのウィンドウを閉じるために使用できることはわかっていますが、点滅します(表示されてから消えます)。さらに、終了値を読みたい:
var exitval = process.exitValue;
追加のソフトウェアをインストールできないことを忘れていました。