Fragmenty kodu:Uruchamianie aplikacji
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
UWAGA: Tłumaczenie tej strony nie zostało zakończone.
Może być ona niekompletna lub wymagać korekty.
Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron...
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.
[edytuj] Użycie nsILocalFile.launch()
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();
[edytuj] Użycie nsIProcess
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);
[edytuj] Odnośniki
- nsILocalFile interface
- interfejs nsIProcess
- If you need to launch an executable bundled in your XPI, see Fragmenty kodu:Plik I/O#Pobieranie swojego folderu rozszerzeń.
- Launching an executable process from a web page