--- title: Uruchamianie aplikacji slug: Fragmenty_kodu/Uruchamianie_aplikacji tags: - Dodatki - Rozszerzenia - Strony_wymagające_dopracowania - Wszystkie_kategorie translation_of: Archive/Add-ons/Code_snippets/Running_applications ---
SupAdded a note about documentation removal as extensions using XUL/XPCOM or the Add-on SDK are no longer supported in Firefox.port for extensions using XUL/XPCOM or the Add-on SDK was removed in Firefox 57, released November 2017. As there is no supported version of Firefox enabling these technologies, this page will be removed by December 2020.
{{LegacyAddonsNotice}} Poniższy artykuł opisuje jak uruchamiać inne programy z kodu JavaScriptu używając interfejsów XPCOM Mozilli. Istnieją dwa sposoby na uruchamianie programów. Pierwszy to użycie metody nsILocalFile:launch
, a drugi to użycie interfejsu nsIProcess
.
Ta metoda posiada taki sam efekt jak podwójne kliknięcie na pliku tak więc dla plików wykonywalnych—zostanie po prostu wykonany dany plik bez parametrów. Może być ona nie dająca się implementować na niektórych platformach tak więc upewnij się, że nie ma to miejsca na twojej platformie docelowej.
Więcej informacji odnośnie nsIFile
/nsILocalFile
, uzyskasz w artykule File I/O.
var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath("c:\\myapp.exe"); file.launch();
Rekomendowane użycie interfejsu nsIProcess:
// create an nsILocalFile for the executable var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath("c:\\myapp.exe"); // create an nsIProcess var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); // Run the process. // If first param is true, calling thread will be blocked until // called process terminates. // Second and third params are used to pass command-line arguments // to the process. var args = ["argument1", "argument2"]; process.run(false, args, args.length);