Accès à la base de registre

Soyez le premier à donner votre avis sur cette source.

Vue 19 233 fois - Téléchargée 2 164 fois

Description

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+

Codes Sources

A voir également

Ajouter un commentaire Commentaires
furet94 Messages postés 4 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 15 août 2006
17 janv. 2007 à 08:18
oups... pardon... je viens de répondre car j'ai reçu un mail me disant que le fil avait été modifié.... je n'avais pas regardé les dates des posts...

Il est où l'ajout du 15/1/2007 ?
furet94 Messages postés 4 Date d'inscription mercredi 11 novembre 2009 Statut Membre Dernière intervention 15 août 2006
17 janv. 2007 à 08:15
Bonne année à tous

En définitive Mister-rom et Pcpt avez tous les 2 raison et il n'y a que le fonctionnement du forum à comprendre (pas facile j'en conviens)
- les réponses irritantes : la réponse se fait à la fin du fil et dans la précipitation on oublie la référence au post concerné. Le résultat en est que certaines réponses semblent bizarres mais en fouillant dans les autres on arrive parfois à trouver celle qui l' initiée.
- les consultants du forums sont variés et leurs raisons sont multiples. Personnellement je suis architecte senior au ministère de l'agriculture et ne développe plus qu'en python et php (et peu souvent). Toutefois certaines applis (ou parties d'applis) sont en VB pour des questions de simplicité (le gestionnaire de composants en particulier et l'OLE) et quand je dois mettre le nez dedans, je ne veux pas réinventer le monde et consulte des sites comme celui-là.
- Mister-rom comme moi-même, en raison de notre expérience, savons que "l'astuce de programmation" géniale viens souvent d'un néophyte car en débutant on a tout à inventer alors qu'après plusieurs années on va appliquer toujours les mêmes principes de programmation : code-source permet d'éviter cela !

En résumé, pas d'ironie, pas de susceptibilité.... et encore bonne année à tous
dracoon Messages postés 13 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 8 février 2008
4 août 2006 à 10:56
Ta souce est geniale. J'ai eu du mal à la mettre en application mais tu n'y es pour rien

Pour ceux qui critique le nom de tes variables, elles ont le mérite d'être clair
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
12 mai 2006 à 06:34
Quel plaisir de lire ces commentaires.
En tant que spectateur, je me régale...

MisterRom : pour un francophone, t'as plutôt un nom anglais !

En tout cas merci pour le code, je vais mettre le lien dans le forum pour qqun.

@ ++
Mortalino

PS : c'est vrai que 3 ans c'est long (20 ans de programmation = 7 visites sur CS)
phenX Messages postés 705 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
7 avril 2006 à 15:38
ca ne marche qu'en VB6?
Afficher les 18 commentaires

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.