Astuces de recherche...
Home
- Accueil & nouveautés
- Les newsgroups VB
- Téléchargements
- L'équipe
- Nous contacter
- Liens
Rubriques
- Toutes les questions
- Affichage & graphismes
- Algorithmique
- API
- Base de registre
- Bases de données
- Contrôles
- Date & heure
- Déploiement
- Divers
- Erreurs & problèmes
- Fichiers & dossiers
- Généralités
- Impression
- Internet & mails
- Math
- Multimédia
- Réseaux
- Structures de données
- Texte & strings
- VB .Net
- VB Script
- VBA
- Windows

Question 59

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 :

  1. On ouvre la clé (on ouvre le fichier)
  2. On lit ou on écrit la valeur (on lit ou on écrit des données dans le fichier)
  3. 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.

Date de publication : 07 juillet 2002
Dernière modification : 05 janvier 2003
Rubriques : Base de registre
Mots-clés : base de registre, registry, SaveSetting, GetSetting, BDR