Module d'accès à la base de registre : recherche, lecture/écriture, suppression de clés et d'entrées, ...
Vu que la gestion de (toute) la base de registre n'est pas aisée en VB, je crois que ce module devrait pouvoir aider un certain nombre d'entre nous.
Source / Exemple :
'
' Exemple d'utilisation des procédures du module Registre.bas
'
' L'utilisation des API d'accès n'est pas aisée; c'est pour cela que j'ai écrit quelques fonctions
' dans ce module, pour servir d'intermédiaire avec les API en simplifiant leur utilisation.
'
Public Sub ExempleRegistre()
Dim Clé As Long
Dim CheminMisterRom As String
Dim CheminNomOrdinateur As String
Dim Nom As String
Dim h As Integer
' Initialisation de la clé
CheminMisterRom = "Software\Mr Rom\Exemple d'utilisation des API"
CheminNomOrdinateur = "System\ControlSet\Control\ComputerName\ComputerName"
' Vérification de la présence de cette clé d'entrée dans la base de registres
If Not VérifiePrésenceClé(HKEY_CURRENT_USER, CheminMisterRom) Then
' Clé non-présente
' Création de cette entrée
CréationClé HKEY_CURRENT_USER, CheminMisterRom
' Exemple de lecture d'une information dans la base de registre
' Le nom de l'ordinateur dans le réseau
' Ouverture de la clé
Clé = OuvertureClé(HKEY_CURRENT_USER, CheminNomOrdinateur)
' Lecture de l'entrée
Nom = Trim$(LectureEntrée(Clé, "ComputerName"))
' Fermeture de cette clé
FermetureClé Clé
' Stockage de ce nom dans un emplacement personnalisé de la base de registre
' HKEY_CURRENT_USER\Mr Rom\Exemple d'utilisation des API
' Ouverture de la clé
Clé = OuvertureClé(HKEY_CURRENT_USER, CheminMisterRom)
' Ecriture de cette valeur
EcritEntrée Clé, "Nom de l'ordinateur", Nom
' Fermeture de cette clé
FermetureClé Clé
End If
' Ouverture de la clé
Clé = OuvertureClé(HKEY_CURRENT_USER, CheminMisterRom)
' Lecture de l'entrée
Nom = Trim$(LectureEntrée(Clé, "Nom de l'ordinateur"))
' Fermeture de cette clé
FermetureClé Clé
' Un message pour vous ...
MsgBox "Salut ! Le nom de votre ordinateur est : "+Nom, vbInformation, "Mr Rom"
End Sub
Conclusion :
Prenez le temps d'essayer les fonctions que j'ai écries, elles sont sensés simplifier la vie. Il y a un bon paquet d'API concernant la base de registre, je n'en n'ai moi-même utilisé qu'une bonne partie. Le seul inconvénient majeur est la conversion des paramètres et les conventions d'appels du C.
Je crois qu'il n'y a pas de bug dans le code que je vous ai fournis, ni dans le module Registre.bas (je l'utilise depuis des lustres sans problème apparent ...)
Si le besoin se fait se sentir, je peux écrire une petite doc détaillée sur la méthode d'accès et les fonctions les plus importantes.
A+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.