Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

# Executer un fichier

Envoyé par : Alain

Date : 18/01/2005 00:07

Bonjour,

Je découvre XUL depuis peu et ce site m'aide beaucoup, merci.

Mon projet : je réalise un cd contenant pleins de logiciels gratuits (souvent libre) que je distribue à qui veut. J'ai fait une interface pour lancer les installations des progs en cliquant sur une icône. J'utilise pour cela un logiciel propriétaire qui compile des pages web.

Je voudrais maintenant faire cette interface en XUL. Placer des boutons, ça va, j'ai pigé. Par contre je n'arrive pas à exécuter les fichiers en cliquant sur un bouton.

Je pense avoir compris qu'il fallait utiliser XPCOM. J'ai donc commencé par écrire ce script :

function lancer(prog)
{
var file =Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(prog);
var process=Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(file);
process.run(false,"",0);
}

Cela fonctionne très bien avec des adresses absolues pour "prog". Malheureusement, j'ai besoin d'utiliser des adresses relatives (car je ne sais pas où les gens auront copiés le cd, ou dans quel lecteur ils l'auront mis, ...).

J'ai vu que initWithPath n'accepte que les adresses absolues. Alors comment faire sans cela ?

Je précise que je travaille sous linux, mais que le cd est pour des windoziens.

A+
Alain

# Re: Executer un fichier

Envoyé par : laurentj

Date : 18/01/2005 12:51

utilise le composant @mozilla.org/file/directory_service;1

par l'interface nsIProperties et sa méthode get, tu peux récuperer le chemin absolu de l'executable de mozilla/firefox (car je suppose que tu va executer un mozilla/firefox à partir du cd ?)

get("CurProcD");

il y a d'autres mots clé. regarde les sources de la jslib (io/dirUtils.js) pour en avoir la liste.

ensuite, tu y ajoutes un chemin relatif et voilà..

# Re: Executer un fichier

Envoyé par : Alain

Date : 18/01/2005 17:33

Merci, je vais étudier cela.
Je vais effectivement utiliser firefox sur le CD.

A+
Alain

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.