mozilla
Your Search Results

    Running applications

     

    このページでは、Mozilla XPCOM インターフェースを利用して、chrome JavaScript コードから他のプログラムを起動する方法について解説します。プログラムを実行するには二つの方法があります。一つ目はnsILocalFile:launch メソッドで、二つ目は nsIProcess インターフェースです。

    nsILocalFile.launch() を利用する

    このメソッドは、ファイルをダブルクリックしたのと同じ効果をもたらします。たとえば、実行可能ファイルであれば、ファイルがパラメータ無しで実行されます。いくつかのプラットフォームではこの機能は実装されていませんので、あなたのターゲットとするプラットフォームでこのメソッドが利用可能か確認してください。

    nsIFile/nsILocalFile の詳細については、File I/O を参照してください。

    var file = Components.classes["@mozilla.org/file/local;1"]
                         .createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath("c:\\myapp.exe");
    file.launch();
    

    nsIProcess を利用する

    最も推奨されるのは、nsIProcess インターフェースを利用する方法です。

    // 実行可能ファイルに nsILocalFile を作成する
    var file = Components.classes["@mozilla.org/file/local;1"]
                         .createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath("c:\\myapp.exe");
    
    // nsIProcess を作成する 
    var process = Components.classes["@mozilla.org/process/util;1"]
                            .createInstance(Components.interfaces.nsIProcess);
    process.init(file);
    
    // プロセスの起動。
    // 最初のパラメータが true なら、スレッドはプロセスが終わるまでブロックされます。 
    // 二つ目と三つ目のパラメータは、プロセスのコマンドライン引数になります。
    var args = ["argument1", "argument2"];
    process.run(false, args, args.length);
    

    リファレンス

     

     

    <hints id="hah_hints"/>

    ドキュメントのタグと貢献者

    タグ: 
    Contributors to this page: mooz, Shimono, Mgjbot
    最終更新者: mooz,