Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Lanciare file esterni in Flash

Piccolo compendio sui sistemi di esecuzione dei file esterni dal proiettore
Piccolo compendio sui sistemi di esecuzione dei file esterni dal proiettore
Link copiato negli appunti

Per lanciare un eseguibile, in un proiettore creato con Flash4, il comando è:

FS Command ("exec", "file.exe")

in Flash5 e FlashMX:

fscommand("exec", "file.exe");

L'unica differenza, poi vedremo come e perchè, è che con un proiettore creato per il Flash4 o il Flash5, è possibile impostare percorso e parametri per il file eseguibile, mentre con un proiettore creato con il FlashMX, nessuno dei due.

Per lanciare un file non eseguibile, come un documento *.pdf, o un filmato *.mov, non si può usare solamente l'exec, che fallisce silenziosamente, e nemmeno il getURL, che apre il file, ma dentro al browser.
Bisogna invece applicare uno dei metodi seguenti, ricordando sempre che per il flashMX non si può impostare il percorso.

Primo metodo:

Ad un pulsante, si associa

on (release) {
    nome = "fileDaEseguire.pdf";
    fscommand ("exec", "startt" + nome);
    fscommand ("exec", "cmdt/ct" + nome);
}

La prima riga indica il nome del file da lanciare, mentre la seconda e la terza fanno la stessa cosa: la seconda, richiama l'eseguibile start.exe dei sistemi WIN 95/98/ME, mentre la terza il file CMD, corrispondente allo start.exe nei sistemi WIN NT/2k/XP

Funziona solo con proiettori creati per il Flash5.

Secondo metodo:

Si crea un file *.bat (Batch di MS-DOS), che viene lanciato dal proiettore, e che a sua volta lancia il file nel programma associato. Quindi, mantenendo i nomi usati prima, creeremo un file *.bat (basta creare un file di testo, e cambiare l'estensione da *.txt a *.bat), e dentro il bat scriveremo:

@echo off
start fileDaEseguire.pdf
@exit

Chiameremo il file *.bat, ad esempio, esecutore.bat, e lo lanceremo dal proiettore con: FS Command ("exec", "esecutore.bat") per il Flash4 e fscommand("exec", "esecutore.bat"); per il Flash5 e il FlashMX

Terzo metodo:

Si modifica il proiettore con un programma apposito, come lo SwiffCanvas della SwiffTools o il Jugglor della FlashJester.. Notazione importante, è il fatto che programmi di questo tipo supportano proiettori creati con il Flash4 o Flash5, a seconda dei casi, ma non con il FlashMX.

Quarto metodo:

Si utilizza questa applicazione, da accompagnare al proiettore:

.flashgeek....Launching files from the Flash projector

In pratica, assieme al proiettore, va posto il file da lanciare, l'eseguibile linkato, e un file di testo. Il file di testo deve avere lo stesso nome dell'eseguibile, che può avere un nome a piacere.
Avremo quindi, ad esempio: proiettoreFlash.exe, fileDaEseguire.pdf, applicazione.exe, applicazione.txt oppure proiettoreFlash.exe, fileDaEseguire.pdf, mioexe.exe, mioexe.txt

Il file di testo, accluso nello zip da scaricare, deve contenere il nome del file da lanciare compreso tra virgolette, con percorso relativo o assoluto. Nel nostro caso, ad esempio: "fileDaEseguire.pdf"

Il proiettore lancia l'eseguibile: FS Command ("exec", "mioexe.exe") per il Flash4 e fscommand("exec", "mioexe.exe"); per il Flash5 e il FlashMX

e l'eseguibile provvede a lanciare il file nell'applicazione a cui il file è associato (nel caso, l'Acrobat Reader).

Notazioni per FlashMX:

Ferme restando le cose dette fino ad ora, bisogna fare un discorso particolare per FlashMX.
Per problemi di sicurezza ormai noti, la Macromedia ha introdotto un cambiamento fondamentale nell'interpretazione degli fscommand.

Potential security issue with FSCommand "Save"
Stand-alone Macromedia Flash Player Update for Windows

Per quanto riguarda l'exec, attualmente, il comando non viene interpretato quando è presente in un swf, ma solo quando il filmato è un proiettore. Inoltre, non è più possibile impostare un percorso per il file da lanciare, tantomeno parametri aggiuntivi al nome dell'eseguibile.

Il proiettore, lancerà solo gli eseguibili che saranno inseriti all'interno di una cartella chiamata fscommand, cartella che dovrà essere a livello del proiettore.

Ad esempio, avremo la cartella di base "folder", che conterrà il proiettore in Flash, e la cartella "fscommand". Dentro la cartella "fscommand", avremo il file da lanciare.

folder/proiettore.exe
folder/fscommand/eseguibile.exe

Cosa molto importante, nel lanciare l'eseguibile, non bisogna specificare il percorso del file nella cartella: fscommand("exec", "fscommand/file.exe"); il proiettore, infatti, sa già che deve controllare dentro quella cartella, per cui basterà scrivere: fscommand("exec", "file.exe");

Ti consigliamo anche