Comment accéder à la base de registre ?
Pour accéder à la base de registre via Visual Basic, il existe trois façons
:
- soit en employant les fonctions internes de VB,
- soit en employant les API.
- soit en employant le Windows Scripting Host (cfr. Question 64)
L'avantage des fonctions internes est leur simplicité mais elles ont
l'énorme inconvénient de ne pouvoir accéder qu'à la clé HKEY_CURRENT_USER\Software\VB
and VBA Program Settings\NomDeMonProgramme. On ne peut donc pas les utiliser
pour accéder au reste de la BDR.
Ces fonctions internes sont :
- Pour enregistrer une valeur : SaveSetting NomDuProgramme, Section,
Clé, Valeur
- Pour lire une valeur : Valeur = GetSetting(NomDuProgramme, Section,
Clé, Défaut)
- Pour énumérer les valeurs d'une clé : Valeurs = GetAllSettings(NomDuProgramme,
Section)
- Pour effacer une clé ou une valeur : DeleteSetting NomDuProgramme
[, Section, Clé]
Par exemple, le code suivant :
SaveSetting "MonProgramme", "Section",
"MaClé", 200
Enregistre la valeur 200 dans la clé "MaClé" dans "HKEY_CURRENT_USER\Software\VB
and VBA Program Settings\MonProgramme\Section\".
Pour accéder aux autres parties de la BDR, ou pour avoir un plus grand
contrôle sur ce qu'on fait (clés volatiles, accès restreints, etc...), il
faut utiliser les appels API :
- RegCreateKeyEx : Crée une clé ou l'ouvre si celle-ci existe
déjà.
- RegDeleteKey : Efface une clé et toutes ses sous-clés
éventuelles sous Windows 9x mais ne peut effacer une clé qui contient des
sous-clés sous Windows NT.
- RegOpenKeyEx : Ouvre une clé.
- RegCloseKey : Ferme une clé.
- RegSetValueEx : Modifie ou crée une valeur.
- RegQueryValueEx : Lit le contenu d'une valeur.
- RegDeleteValue : Supprime une valeur.
- RegEnumKeyEx : Énumère les sous-clés d'une clé.
- RegEnumValue : Énumère les valeurs d'une clé.
Pour lire ou écrire une valeur dans la base de registre, on procède un peu
de la même manière que lors de la lecture ou l'écriture d'un fichier. A
savoir :
- On ouvre la clé (on ouvre le fichier)
- On lit ou on écrit la valeur (on lit ou on écrit des données dans le
fichier)
- On ferme la clé (on ferme le fichier)
Voici quelques exemples d'accès à la Base de Registre :
Pour le reste, vous trouverez la définition de chacune des ces API ainsi que
de nombreux exemples d'emploi sur www.allapi.net. |