Guide: passo per passo

Condividi:        

Grafica di XP ai vecchi programmi

Ottimizzazioni
PREMESSA: se non conoscete il significato di qualche parola consultate il nostro Glossario.

Con l'introduzione di Windows xp, molte cose sono cambiate; tra le molte cose, la prima che salta all'occhio è indubbiamente la nuova appareance, ossia la nuova veste grafica. Microsoft ha lavorato molto infatti per puntare a un sistema operativo che fosse semplice da utilizzare, versatile e accattivante.
Tuttavia ci sono delle vecchie applicazioni che mantengono lo stile classico di Windows 2000 e precedenti. Personalmente ritengo la cosa un po' seccante, in quanto vorrei sfruttare appieno la grafica di windows xp, in tutte le applicazioni che ci girano sopra. Bene, ora vediamo come si può ovviare a questo piccolo problema inserendo la grafica di windows xp sulle vecchie applicazioni.


IL MOTORE GRAFICO DI WINDOWS XP
Il motore che gestisce l'interfaccia "user friendly" è una libreria chiamata comclt32.dll. Questa libreria era redistribuibile fino alla versione 5.0 (quella installata da windows 95 a windows 2000); questo significa che tutte le applicazioni giravano equivalentemente con lo stesso schema grafico in tutti questi sistemi operativi. In windows xp è stata introdotta la versione 6.0, che però non è più redistribuibile. In pratica questo significa che la grafica di windows xp non è compatibile con gli altri sistemi, ossia se un'applicazione in windows xp ha l'interfaccia carina, negli altri sistemi operativi assumerà l'interfaccia classica.


CAMBIAMO FACCIA ALLE APPLICAZIONI

Ora vediamo come fare per cambiare faccia alle applicazioni. Questo "miracolo" avviene attraverso un file particolare, chiamato Manifest. Questo file in pratica dice all'applicazione di utilizzare la versione 6.0 della libreria al posto della 5.0 standard. Qui di seguito c'è il codice del file manifest.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Microsoft.Winweb.<Your Application>"
type="win32"
/>
<description>XP Buttons</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>


Ora è arrivato il momento di cambiare faccia alle applicazioni: copiate il codice e incollatelo in un documento di testo. Cambiate <Your Application> con il nome dell'applicazione interessata, senza l'estensione. Ora selezionate dal menu file la voce salva con nome, e come nome del file digitate applicazione.exe.manifest, dove al posto di applicazione va digitato il nome appunto dell'eseguibile.
Bene, ora copiate il file manifest nella cartella dove c'è il file eseguibile e fate partire l'applicazione. Noterete subito la differenza (prima, dopo).


CONCLUSIONI

Abbiamo visto come sia facile dare una nuova veste alle applicazioni. Questo può essere utilizzato anche dai programmatori per rendere i programmi più accativanti; molti ambienti di sviluppo infatti non integrano ancora la "selezione automatica" della versione della libreria da usare (addirittura lo stesso VisualStudio 2003 di casa Microsoft). Questo piccolo trucco può essere quindi utile per colmare questa lacuna. Sempre per chi programma, ricordo che in fase di programmazione gli oggetti devono avere lo stile di sistema (spesso infatti questo è impostato in automatico su standard).


Ottimizzazioni: hydra [24.655 visite dal 11 Luglio 05 @ 23:01 pm]