Premessa:
Con questa guida ho l'intento di aiutare giovani programmatori nella
distribuzione delle loro applicazioni e per darle un tocco più
professionale.
In questa guida vedremo come far riconoscere le nostre
applicazioni come Clients da parte di Windows modificando le opportune chiavi
del registro di sistema.
Per Client si intende un software o un programma che accede a risorse o servizi di un server utilizzando dei protocolli di rete (http
per il web, smtp o pop per la posta, per citare i più comuni).
Le informazioni che sto per rivelarvi le potete trovare tranquillamente sul sito MSDN di
microsoft.
N.B. Si raccomanda un backup del registro prima di ogni nostra modifica.
Passo 1:
Per prima cosa dobbiamo sapere che tipo di client è il nostro programma scegliendo una di queste categorie e il relativo percorso nel registro:
Browser di internet | HKEY_LOCAL_MACHINE\Softwares\Clients\StartMenuInternet |
Client Mail | HKEY_LOCAL_MACHINE\Softwares\Clients\Mail |
Riproduttori musicali | HKEY_LOCAL_MACHINE\Softwares\Clients\Media |
Messaggistica istantanea | HKEY_LOCAL_MACHINE\Softwares\Clients\IM |
Virtual machine per java | HKEY_LOCAL_MACHINE\Softwares\Clients\JavaVM |
Passo 2:
Adesso dobbiamo scegliere il Canonical name della nostra
applicazione, che sarà il nome con la quale il nostro programma verrà
identificato, il canonical name non verrà mai mostrato all'utente.
Per
convenzione si usa il nome inglese del nostro programma.
Ad esempio se la mia
applicazione si chiama "magico web", un buon canonical name potrebbe essere
"magic web.exe"
Quando l'abbiamo scelto lo registramo aggiungendo una chiave all'interno del tipo di client:
- HKEY_LOCAL_MACHINE\Softwares\Clients\<tipo clients>\<canonical name>
Ad esempio
- HKEY_LOCAL_MACHINE\Softwares\Clients\StartMenuInternet\magic web.exe
All'interno di questa chiave risiederranno tutte le informazioni sulla nostra applicazione
Passo 3:
Dopo il Canonical name dobbiamo decidere il Nome vero, quello mostrato all'utente, e dichiararlo nel registro aggingendo il valore stringa "LocalizedString" al registro e dandogli come valore:"@<file path>, -String ID"
String ID è un numero intero che specifica la posizione del nome all'interno
del file .exe se non si dispone di un string ID (rimuovere quindi tutto ciò che
sta dopo la virgola, compresa quella) oppure si vuole dare un nome aggiuntivo
secondario bisogna modificare il valore (Predefinito) scrivendo il nome.
Ad
esempio:
- HKEY_LOCAL_MACHINE\Softwares\Clients\<tipo
clients>\<canonical name>
- (predefinito) = <nome>
- LocalizedString = <file path>,-<StringID>
- HKEY_LOCAL_MACHINE\Softwares\Clients\StartMenuInternet\magic
web.exe
- (predefinito) = Il magico web
- LocalizedString = "@%programfiles%\magic web\magic web.exe", -235
Passo 4:
Il prossimo passo è quello di registrare un icona da associare al
programma.
Questo passaggio è molto semplice, basta infatti aggiungere questa
chiave con questo valore:
- HKEY_LOCAL_MACHINE\Softwares\Clients\<tipo
clients>\<canonical name>\DefultIcon
- (predefinito) = <icon path>
Ovviamente l'estensione del file dovrà essere ".ico"
Passo 5:
Adesso dobbiamo registrare il verbo Open per assicurarci di far eseguire il nostro programma.
- HKEY_LOCAL_MACHINE\Softwares\Clients\<tipo
clients>\<canonical name>\shell\open\command
- (predefinito) = <file path> <argomenti>
Passo 6:
questo è l'ultimo passo, ma anche il più complicato.
In questo passo
vedremo come far passare argomenti "speciali" all'applicazione per fare ciò, si
aggiungeranno 3 valori e 1 chiave in questo modo:
- HKEY_LOCAL_MACHINE\Softwares\Clients\<tipo
clients>\<canonical name>\InstallInfo
- HideIconsCommand = <file path> <argomento nascondi icone>
- ShowIconsCommand = <file path> <argomento mostra icone>
- ReinstallCommand = <file path> <argomento imposta predefinito>
- IconsVisible (valore DWORD) = 1
HideIconsCommand
Nasconde le nostre icone quando l'utente imposta a FALSE la checkbox "abilita accesso al programma" in "impostazione accesso ai programmi" qui il nostro programma leggerà l'argomento passato e dovrà nascondere:
- Icone del desktop
- link del menu Start, compreso il gruppo di avvio
- Avvio veloce barra dei link
- Area di notifica
- Menu di scelta rapida
- cartella compito band
ShowIconsCommand
Analogo al precedente con la differenza che le icone dovranno essere mostrate e il valore di "IconsVisible" posto ugale a 1
ReinstallCommand
Con questo parametro imposteremo la nostra applicazione come predefinita per
quel il tipo di client il paramtro verrà passato quando l'utente sceglierà la
nostra applicazione in "Impostazione accesso ai programmi" e noi dovremo
associargli i necessari protocolli ed estensioni i file.
Al termine della
modifica l'applicazione dovrà terminare per permettere a Windows di accettare le
modifiche.
Conclusioni
Saremo noi nella nostra applicazione a dover gestire gli argomenti che gli passerremo tramite il registro.
Consiglio la modifica delle chiavi del registro di sistema durante l'istallazione della nostra applicazione e durante la sua rimozione
dovremo risistemare tutto come era prima.
Spero che questa guida sia stata d'aiuto a molti e che sia stata ben chiara a tutti detto ciò possiamo ammirare il risultato finale per un Browser Internet:
Se ci sono problemi potete contattarmi qui: walker1993@live.it
Aggiungi un commento