Visual Basic Simple
File Manifest nelle risorse
Sincronizza Indice
Sincronizza Indice
Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Testo dell'articolo
Stampa l'articolo
Stampa l'articolo
Ricerca personalizzata

Difficoltà: 1 / 5

Abbiamo visto in un altro HowTo come applicare lo stile visuale di Windows XP ad un'applicazione scritta in Visual Basic. Tutto ciò che è fondamentale fare è inserire due semplici istruzioni ed accludere all'eseguibile un file Manifest con il nome dell'applicazione seguito dall'estensione manifest. Vedremo in quest'articolo come fare a meno di redistribuire il file aggiuntivo ed integreremo lo stesso in un file di risorse che verrà collegato (linked) al file eseguibile.

Figura 1Il procedimento è estremamente semplice ma si raccomanda la consultazione dell'HowTo dedicato all'utilizzo di un file di risorse, per capire come compilare il file di risorse; il progetto si compone di un solo form ed alcuni controlli senza particolare cura, in quanto serviranno solo a dimostrare l'avvenuto aggiornamento dello stile visuale.

Il codice conterrà le solite poche righe per attivare la libreria COMCTL32.DLL e richiedere quindi lo stile visuale:

  1. Option Explicit
  2. Private Declare Function InitCommonControls Lib "Comctl32.dll" () As Long
  3. Private Sub Form_Initialize()
  4.     Call InitCommonControls
  5. End Sub

Tutto qui!
Ciò che ancora manca è il file manifest e pertanto a tal scopo ne gereremo uno per il nostro progetto e lo salveremo col nome MANIFEST.TXT (a riprova quindi che il programma eseguibile non utilizzerà il file programma.exe.manifest nella stessa cartella). È possibile scaricare un file manifest generico qui. Aggiungeremo anche un file di risorse di nome RISORSE.RC che conterrà il seguente codice:

  1. #define CREATEPROCESS_MANIFEST_RESOURCE_ID    1
  2. #define RT_MANIFEST                           24
  3. CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "MANIFEST.TXT"

Le due costanti CREATEPROCESS_MANIFEST_RESOURCE_ID e RT_MANIFEST indicheranno rispettivamente il numero identificato ed il tipo della risorsa; il nome delle predette costanti non è importante ma sono ciò che è riportato dalla documentazione ufficiale di casa Microsoft. Naturalmente il file che seguirà i due identificatori è il nome del nostro file manifest.

La documentazione ufficiale raccomanda la scrittura del file manifest su un'unica riga, cioè senza andare a capo ad ogni tag o attributo e si consiglia quindi si seguire tale indicazione. Tuttavia è stato verificato il corretto funzionamento anche nella situazione in cui il testo del file è riportato a capo, come nell'esempio allegato.

Figura 2 Resta comunque un'importante limitazione: la dimensione in bytes del file manifest deve essere un numero divisibile per 4; ad esempio una dimensione di 623 bytes restituisce un errore in fase di avvio del programma; in tali casi basterà aggiungere qualche spazio tra un attributo e l'altro o modificare la descrizione del programma.
Nel caso dovesse apparire l'avviso mostrato nella figura a fianco, probabilmente la dimensione del file manifest non è un numero divisibile per 4, oppure non è stata richiamata correttamente la funzione InitCommonControls.

Creato il file di risorse, basterà compilarlo con il comando <Cartella in cui è installato VB>\WIZARDS\RC.EXE RISORSE.RC e verrà generato un file di nome RISORSE.RES che basterà aggiungere al progetto mediante l'opzione Inserisci file presente sul menu Progetto. Il file sarà mostrato nella Finestra di gestione dei progetti con la sua relativa icona.

Compiliamo quindi il nostro progetto ed avviamolo su qualsiasi macchina che abbia Windows XP ed almeno la versione 6 della libreria COMCTL32.DLL. Il risultato che otterremo è quello di un look più moderno al posto delle solite finestre squadrate, come mostrato nella Figura 3.

Figura 3
Figura 3
Figura 4
Figura 4

Nel caso venisse inserito un file manifest con il nome dell'applicazione seguita dall'estensione .manifest, questo avrà la priorità sul file contenuto nelle risorse del programma eseguibile. Inutile dire che nel caso in cui venisse incluso nelle risorse e non si hanno bisogni particolari, non è necessario includere il file manifest nella cartella del programma stesso.

Fibia FBI
1 Marzo 2004

Scarica il progetto
Scarica il progetto
Scarica il testo dell'articolo
Scarica il testo dell'articolo
Stampa l'articolo
Stampa l'articolo
Torna all'indice degli HowTo