MXOR.COM[personal website]

Le registre de Windows

Accéder à l'éditeur du registre
Comme la plupart des éléments de Windows, le registre peut être modifié via un éditeur dédié. En l'occurrence, il s'agit de l'éditeur du registre. On accède au éditeur du registre en cliquant sur la commande Exécuter du menu Démarrer et en tapant, dans la fenêtre qui s'ouvre, la commande regedit. Cliquez alors sur OK ou appuyez sur la touche Entrée du clavier pour afficher l'éditeur.


Les clés

Les informations du registre sont stockées à l'intérieur de dossiers appelés « clés ». Il n'existe que cinq clés principales, ou clés « racines », qui contiennent toutes les autres clés. Chacune est dédiée à un domaine de Windows et peut contenir des sous-clés afin d'affiner le rangement. Le chemin d'accès à une clé donnée est noté en séparant le nom des clés parentes par le caractère antislash « \ ». Ainsi, l'adresse HKEY_LOCAL _MACHINE\SOFTWARE\WINDOWS indique que la clé WINDOWS est contenue dans la clé SOFTWARE, elle-même incluse dans la clé HKEY_LOCAL_MACHINE.


La clé HKEY_LOCAL_MACHINE
Cette clé concerne l'ordinateur lui-même (la « machine locale ») : elle répertorie les composants matériels, la configuration réseau, les paramètres de sécurité, etc. Ces informations sont communes à tous les utilisateurs.


La clé HKEY_USERS
Cette clé recense tous les profils d'utilisateurs créés dans Windows (et chaque sous-clé correspond donc à un compte créé sur votre PC), avec leurs réglages propres. Cela va de l'apparence de Windows, comme les curseurs de la souris ou le papier peint du bureau, aux réglages personnalisés dans les logiciels installés sur le disque dur.


La clé HKEY_CURRENT_USER
Cette clé cache tous les réglages de l'utilisateur « courant », celui dont la session est actuellement active. Il s'agit en réalité d'un raccourci vers la sous-clé correspondant à ce compte située dans la clé principale HKEY_USERS.


La clé HKEY_CLASSES_ROOT
Composée de centaines de sous-clés, cette clé sert à la gestion des types de fichiers par Windows. C'est notamment grâce à elle que le système d'exploitation sait quel logiciel ouvrir lorsque vous double-cliquez sur l'icône d'un document, d'une image ou d'une musique. Mais elle renferme également de nombreuses autres informations sur les fichiers et ce qu'il est possible de faire avec. La clé HKEY_CLASSES_ROOT n'est en réalité qu'un raccourci vers la sous-clé SOFTWARE\CLASSES de HKEY_LOCAL_MACHINE.


La clé HKEY_CURRENT_CONFIG
Cette clé contient des informations sur le profil matériel utilisé par le micro à son démarrage. Là encore, il s'agit d'un raccourci vers une autre clé, en l'occurrence HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current.


Les valeurs
Si les clés servent à ranger le registre, les informations, elles, sont stockées sous forme de valeurs composées de trois éléments : nom, type et données.
Il en existe cinq types (voir la colonne Type dans la partie droite de la fenêtre de l'éditeur).

Les valeurs textuelles standards, ou REG_SZ
Contiennent du texte facilement lisible et modifiable - par exemple, la liste des liens de la barre d'adresses d'Internet Explorer.

Les valeurs numériques, ou REG_DWORD
Contiennent tout simplement un nombre entier. La difficulté à le lire vient de ce qu'il s'affiche en hexadécimal (base 16) ou en binaire (base 2).

Les valeurs textuelles multiples, ou REG_MULTI_SZ
Il s'agit d'une suite de valeurs texte, séparées par un caractère particulier - souvent la virgule, mais cela peut aussi être le point, le point-virgule, etc.

Les valeurs textuelles extensibles, ou REG_EXPAND_SZ
Le terme « extensible » est un faux ami. En réalité, il s'agit d'un texte générique que Windows modifie en fonction de la configuration. Par exemple, le dossier dans lequel Windows est installé est noté %systemroot%. Par défaut, il s'agit du dossier de C:\Windows. Mais selon les PC, il peut aussi s'agir de D:\Windows, C:\Winnt. etc. Ce type de valeur permet au logiciel qui la lit d'avoir automatiquement la bonne information.

Les valeurs binaires, ou REG_BINARY
Comme le nom l'indique, elles comportent des données binaires et donc quasi impossibles à déchiffrer telles quelles



Sauvegarder le registre
Avant de modifier le registre, il faut impérativement en effectuer une copie de sauvegarde, qui permettra de le remettre en bon état en cas de problème. Il existe plusieurs façons de s'y prendre, mais la plus simple et la plus rapide consiste à passer par l'éditeur du registre : cliquez sur Fichier puis sur Exporter, choisissez un dossier où stocker la sauvegarde, nommez-la, assurez-vous que, dans le cadre Etendue de l'exportation, l'option Tout est cochée, et cliquez sur Enregistrer. L'éditeur crée alors, dans le dossier que vous avez indiqué, un fichier portant l'extension .reg.


Restaurer le registre
Pour cela, double-cliquez sur l'icône du fichier .reg que vous avez sauvegardé et confirmez lorsqu'un message vous demande si vous souhaitez réellement fusionner les données du fichier dans le registre.


Nettoyer le registre
Le registre se remplit au fur et à mesure que vous utilisez votre ordinateur.
Or même lorsque vous désinstallez un logiciel, il peut en conserver une trace, parfois volontairement, souvent parce que le logiciel de désinstallation n'a pas fait entièrement son travail.
Il est donc bon d'effectuer un nettoyage du registre avec logiciels spécialisés ou manuellement.

Fichier .reg
Un fichier portant l'extension .REG (abréviation de registry) est un fichier texte contenant des instructions permettant d'apporter des modifications locales à la base de registre de Windows. Il suffit de double-cliquer dessus pour appliquer les modifications au registre.

exemple :supprimer une clé de la base de registre à l'aide d'un fichier .reg
(il suffit d'insérer un "-" devant le nom de la clé)

REGEDIT4
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Second]

http://support.microsoft.com/kb/310516/fr

reg.exe est un outil de ligne de commande qui permet de créer, ajouter, supprimer, copier, sauvegarder, visualiser, comparer, modifier, exporter des clefs ou des branches de la base de registre.

Syntaxe :
REG Opération [liste_paramètres]

Opération :
[ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT ]
De plus REG.EXE génère un code de retour : (à l'exception de REG COMPARE)
0 - Réussite, 1 - Échec.
FLAGS : premet de consulter ou modifier l'état de virtualisation de la clef (vista)
Exemple :
reg flags hklm\software\microsoft query

HKEY_LOCAL_MACHINE\software\microsoft
REG_KEY_DONT_VIRTUALIZE: CLEAR
REG_KEY_DONT_SILENT_FAIL: CLEAR
REG_KEY_RECURSE_FLAG: CLEAR
Opération réussie.


Les fichiers INF (qu'on associe souvent aux drivers) permettent aussi de modifier la base de registre .
Les principales commandes sont : AddReg, DelReg, BitReg.
-- les lignes commenant par ; sont des commentaires
-- entre crochets nous avons les titres des sections, comme dans les fichiers ini.
-- [version] indique quel type de version de Windows, ce fichier est applicable.
-- [Default Install] dfinit les actions et les sections correspondantes
-- DelReg indique la section contenant les clés supprimer
-- AddReg indique la section contenant les clés ajouter.
exemple :
		
; To execute this file: in Explorer - right-click (this file)
; Select Install from the Menu.
[version]
signature="$CHICAGO$"
[DefaultInstall]
DelReg=DelTemps
AddReg=AddTemps
[DelTemps]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges"
; Recreate the keys to avoid a restart
[AddTemps]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges"

Pour exécuter les fichiers INF automatiquement depuis un batch, il faut lancer la commande suivante :
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:/WINDOWS/INF/SHELL.INF
Ceci excutera le paragraphe [Install].
La valeur 132 peut varier suivant les rgles suivantes :
128 Le chemin de l'installation est le chemin du fichier INF.
+0 Ne jamais redémarrer le PC.
+1 Toujours redémarrer le PC.
+2 Toujours demander avant de redémarrer le PC.
+3 Redmarre le PC si ncessaire sans demander.
+4 Si un redmarrage est ncessaire, demander avant de redémarrer le PC.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/setupapi/setup/installhinfsection.asp