vous êtes surement nombreux a avoir voulu lancé un programme exe associé a un fichier (photoshop pour un psd par exemple, acrobat pour un pdf etc...) et a avoir remarqué que ca marché pas dans MX. On vous a donné une solution dans un tutaux avec un .bat mais celle ci a juste un petit inconvénient, elle ouvre une fenêtre ms dos pendant un lap de temps plus ou moins long selon les machines, fenêtre qui se ferme automatiquement certe mais c pas bien bo. alors voila g plus simple :
allez dabord récupérer le programme FREEMX .
il est ici -> http://freemx.arsware.org/
dézippez et récupérer juste le "freeMx.exe" que vous logerai dans un rep "fscommand" situé a la racine de votre cdrom. (comme dab)
c le seul fichier ki nous interresse.
maintenant sur la premiére frame de votre scéne flash (ou n'importe ou du moment que la fonction est accessible) ajouter ceci dans l'actionscript :
function fmxExec(thing) {
var url;
var success;
if (getVersion().substr(0, 3) == "WIN") {
url = SharedObject.getLocal("freeMX2002", "/");
url.data.url = thing;
success = url.flush();
trace("success" add success);
fscommand("exec", "freeMX.exe");
}
}
voila et c tout.
a present au lieu d'appeler l'habituel fscommand("exec","nomdufichier"); vous allez appelez :
fmxExec("nomdufichier");
quelques précisions :
si vous voulez ouvrir un fichier inclu dans votre cdrom, alors placez-le évidement dans le répertoire fscommand, ce qui ne vous empéches pas de faire des sous repertoire a l'interieur de fscommand:
exemple:
fmxExec("3Dfiles/scene.max"); lancera 3dsmax (pour peu qu'il soit installé sur la machine client bien évidement) et ouvrira le fichier scene.max situé dans "fscommand/3Dfiles/scene.max" a la racine du CDROM.
si vous voulez lancez un programme sur la machine client dont vous connaissez le chemin , voila la syntaxe, ca marchera aussi :
fmxExec("C:\\Program Files\\Adobe\\Photoshop 7.0\\Photoshop.exe");
enfin cet actionscript retablie aussi la fonction "mailto" (qui ne marche pas en projecteur puisqu'elle lance implicitement un programme) et lancera outlook avec cette syntaxe :
fmxExec("mailto:lobyz@voila.fr");
voila j'espére en avoir aidé certain, j'ai juste simplifié le programme freemx alors un gd merci a l'auteur de ce petit prog


Connexion
Inscription
Citer


