Sincronizza Indice |
Scarica il progetto |
Testo dell'articolo |
Stampa l'articolo |
Al fine di semplificare all'utente finale l'utilizzo di un CD contenente un determinato progetto si utilizza sempre più spesso inserire un Autorun (detto anche Autoplay) che avvii un programma di presentazione semplice da utilizzare. In situazioni normali l'Autorun scatta in maniera automatica all'inserimento del CD nel lettore ma in talune situazioni esso potrebbe essere stato disabilitato, ad esempio da alcuni programmi di masterizzazione di CD. È anche possibile evitare volontariamente l'esecuzione dell'Autorun semplicemente tenendo premuto il tasto SHIFT all'inserimento del CD.
Vedremo in questo articolo come programmare un Autorun e regolare le impostazioni del computer per usufruire del supporto di Autorun. Sebbene l'utilizzo di un Autorun si riveli utile quasi soltanto con l'utilizzo di un CD, e quindi si rende necessario un masterizzatore di CD, è possibile utilizzare l'Autorun anche con floppy disk ed unità di rete. Prima di vedere come abilitare il supporto per l'Autorun su un'unità specifica ci occuperemo di crearne uno nuovo dall'inizio. I requisiti affinché un Autorun venga eseguito in maniera automatica sono due:
È anche opzionalmente possibile avere un'icona per il supporto in questione ed aggiungere una o più voci al menu contestuale, quello che appare cliccando con il tasto destro sull'icona del disco. Nel 90% dei casi l'autorun si compone del file di impostazioni, del programma da eseguire e di un'icona. Il primo autorun che produrremo sarà costituito da queste tre caratteristiche. Il programma da eseguire in maniera automatica dovrà essere totalmente autonomo e pertanto non dovrebbe richiedere installazione sull'hard disk per essere eseguito. Questo non vuol dire che il programma presente sul CD non debba essere installato prima di essere eseguito ma piuttosto non deve essere installato il programma che sarà mostrato in maniera automatica. Per semplificare il problema chiameremo questo programma launcher in quanto esso si occuperà soltanto di lanciare un determinato processo quale l'installazione del prodotto nel disco oppure una presentazione grafica per l'utente. È fortemente sconsigliata la scrittura del launcher in Visual Basic in quanto esso prima di essere eseguito dovrebbe essere installato e richiede la presenza di numerosi file di libreria che sul computer in cui viene provato il progetto potrebbero non essere presenti. Si raccomanda pertanto l'utilizzo di un launcher scritto in linguaggio C e senza dipendenze esterne. In ogni caso il launcher deve obbligatoriamente essere un file eseguibile quindi con estensione EXE, COM o BAT. Non sono pertanto ammessi files con estensione HTML, TXT, PPT o altro... Vedremo tuttavia più avanti come evitare questa limitazione. Il file di impostazioni
Sulla prima riga nulla da dire; essa è soltanto l'intestazione
dell'autorun e deve essere in tal modo. Il file di icona potrà essere un'immagine BMP, un'icona ICO di Windows oppure un file eseguibile EXE o DLL. Windows è in grado di estrarre le icone in maniera autonoma. Se la libreria (EXE o DLL) contiene più di un'icona sarà possibile specificare l'icona fornendo il suo indice all'interno della libreria separandolo dal nome con uno spazio. La terza ed ultima riga indica il launcher da eseguire. Nel nostro
esempio il launcher si chiama Nel momento in cui l'unità in cui si trova l'autorun viene attivata (inserendo il CD nel lettore oppure connettendo l'unità di rete) o l'utente clicca due volte sulla sua icona viene eseguito il programma launcher. È altresì possibile aggiungere ulteriori voci nel menu
contestuale dell'unità inserendo alcune voci nel file di impostazioni
Le voci da aggiungere ai menu contestuali sono dette verbi (in inglese verb), non solo in ambito di autorun ma nell'intera architettura di Windows e nel registro. Abbiamo inizialmente aggiunto un nuovo verbo di nome LEGGIMI. Ad esso corrispondono due informazioni: la descrizione (riga 5) che sarà mostrata nel menu contestuale ed il comando (riga 6) che verrà eseguito al click sulla voce del menu contestuale. Il primo verbo che è stato aggiunto, oltre la voce AutoPlay
corrispondente all'applicazione launcher, è LEGGIMI ma all'utente
sarà mostato il messaggio WSTART è un semplice wrapper, un collegamento, alla funzione API ShellExecute trattata in un'altra sezione di questo sito. Esso in sostanza richiama la funzione Apri per il dato passato tramite riga di comando; corrisponde più o meno al doppio click sopra una qualunque icona. Tramite questo trucchetto è infatti possibile richiamare all'interno dell'Autorun un file non direttamente eseguibile quale la pagina LEGGIMI.HTM. Nota: Avremmo potuto utilizzare come launcher lo stesso Explorer.exe che si occupa di gestire le estensioni di Windows nella maniera corretta. Alle righe 8 e 9 abbiamo aggiunto un secondo verbo che consente di visionare
il contenuto della cartella in cui si trova il file
Il verbo predefinito che sarà eseguito in maniera automatica all'attivazione
dell'unità o al doppio click sull'icona è OPEN, corrispondente
alla voce AutoPlay nel menu contestuale. È anche possibile
modificare il verbo predefinito utilizzando l'istruzione La funzionalità di Autorun nei sistemi Windows 95/98/2000 è normalmente abilitata soltanto sulle unità CD e (mai documentato da Microsoft) sulle unità virtuali associate ovvero quelle unità logiche create tramite il comando SUBST. Su Windows ME invece le unità associate non funzioneranno come unità per l'Autorun. Per testare il funzionamento di un Autorun non è strettamente necessario possedere un masterizzatore ed effettuare la scrittura sopra un CD. Sono infatti possibili due soluzioni: la prima riguarda la creazione di un'unità virtuale e la seconda consiste nell'abilitare l'autorun su un altra unità disco quale un disco floppy o l'hard disk stesso. Come già detto, per poter creare un'unità virtuale associata è necessario utilizzare il comando SUBST, non presente in tutte le versioni di Windows. Se esso è presente nel sistema e se non utilizziamo Windows ME sarà possibile utilizzare questa soluzione. Il suo utilizzo è alquanto semplice; è necessario fornire
due soli argomenti: la lettera dell'unità virtuale da creare ed
il percorso della cartella che corrisponderà alla radice dell'unità
virtuale.
Invece di L: potrebbe essere utilizzata un'altra lettera di unità ma si raccomanda la verifica che essa non esista già. Un caso pratico potrebbe essere quello mostrato nella figura 2.
Se l'operazione è stata eseguita in maniera corretta ed il sistema lo prevede l'Autorun scatterà in maniera automatica. In altri casi potrebbe essere necessario cliccare due volte sull'unità appena creata da Risorse del Computer. Selezionando la voce Visualizza Informazioni sarà aperta la pagina web di esempio tramite il programma predefinito. La voce Sfoglia il contenuto mostrerà il contenuto dell'unità in cui è contenuto l'Autorun. Nell'esempio di quest'articolo è fornito anche un file BAT per creare e ricreare l'unità virtuale L: associata alla cartella in cui viene eseguito il file BAT. Esso servirà naturalmente soltanto per effettuare dei test prima dell'effettiva masterizzazione del CD finale. Se l'unità virtuale non dovesse funzionare è possibile provare ad alterare provvisoriamente un valore di sistema e permettere al computer l'utilizzo di altre unità quale il floppy disk, l'hard disk o le unità di rete. Si raccomanda di ripristinare il valore originale al termine della fase di test. Tale valore è contenuto nel registro di Windows alla chiave indicata dalla figura a fianco. Il valore è di tipo binario, prende il nome di NoDriveTypeAutoRun e si compone di 4 bytes di cui è fondamentale soltanto il primo. In situazioni normali tale valore è
Il bit in posizione 7 ovvero l'ultimo è riservato per usi futuri e deve comunque essere impostato su 1. Il valore di default 95 corrisponde alla disabilitazione dell'Autorun nelle unità di tipo sconosciuto, le unità rimovibili e quelle di rete. Per permettere l'utilizzo dell'Autorun sulle unità floppy sarà
necessario azzerare il bit nella posizione 2 utilizzando un'operazione
di AND come segue: |
È stato riscontrato che in alcuni sistemi alla modifica di tali valori del registro non corrisponde all'attivazione/disattivazione delle unità specificate. In tal caso si raccomanda il riavvio di Windows dopo la modifica. Fibia FBI
|
Torna all'indice degli articoli |