Visit Mozilla.org

Extraits de code:Exécuter des applications

Un article de MDC.

Cette page vient d'être traduite, mais elle a besoin d'un relecteur différent du traducteur. Pensez également à toujours vérifier le contenu avec sa toute dernière version en anglais.


Cette page décrit comment exécuter d'autres programmes depuis votre chrome JavaScript, en utilisant des interfaces XPCOM de Mozilla.

Il existe deux façons d'exécuter des programmes. La première utilise la méthode nsILocalFile:launch, et la seconde utilise l'interface nsIProcess.

[modifier] Utilisation de nsILocalFile.launch()

Cette méthode a le même effet que si vous double-cliquiez sur le fichier, donc pour des fichiers exécutables, elle exécutera le fichier sans aucun paramètre. Attention, il se peut qu'elle ne soit pas implémentée sur certaines plates-formes.

Pour plus d'information sur nsIFile/nsILocalFile, consultez Fichiers E/S.

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

[modifier] Utilisation de nsIProcess

La méthode recommandée est d'utiliser l'interface nsIProcess:

// Créer un nsILocalFile pour l'exécutable
var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("c:\\myapp.exe");

// Créer un nsIProcess
var process = Components.classes["@mozilla.org/process/util;1"]
                        .createInstance(Components.interfaces.nsIProcess);
process.init(file);

// Lancer le processus.
// Si le premier paramètre est true, l'appel du processus sera bloqué
// jusqu'à ce qu'il soit terminé.
// Les deuxième et troisième paramètres servent à passer des arguments
// en ligne de commande au processus.
var args = ["argument1", "argument2"];
process.run(false, args, args.length);

[modifier] Références