Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

15 octobre 2006 7 15 /10 /octobre /2006 20:56
REGISTRE
 
I Les 5 « ruches » (branches principales de clés du registre)
-          HKEY_CLASSES_ROOT : Liste des extensions de fichier (ex : .aspx,.gif,…) avec applications qui leur sont associés, et liste des composants COM installés.
-          HKEY_LOCAL_MACHINE :  paramètres de configuration de la machine (HARDWARE,SAM,SECURITY,SOFTWARE,SYSTEM)
-          HKEY_CURRENT_CONFIG : paramètres concernant la configuration courante du pc (SOFTWARE, SYSTEM). Cette clé est un alias de la clé HKEY_LOCAL_MACHINE 
-          HKEY_USERS : paramètres concernant les utilisateurs, avec leur profil
-          HKEY_CURRENT_USER : paramètres concernant utilisateur en cours . cette branche est un alias de la clé HKEY_USERS . le profil par défaut de Windows est employé  si aucun profil n’a été défini.
-          HKEY_DYN_DATA : paramètres de configuration dynamiques (statistiques système,plug & play,…)
 
II Démarche
 
Avec . NET il est très facile d’accéder au registre.Registre accessible aussi grâce à « regedit ».       Le démarche est toujours la même
-          1 – ouvrir la clé (définir le « chemin » de clé, puis essayer de l’ouvrir
-          2 – opérations sur la clé
-          3 – fermer la clé
 
Opérations sur la clé
-          Créer une clé (d’abord créer la clé, puis affecter une valeur à cette clé)
oRegistryKey = oRegistryKey.CreateSubKey(sCle)
oRegistryKey.SetValue(sNomValeur, TextBox1.Text)
 
-          Lire une clé
oRegistryKey.GetValue(sNomValeur).ToString
 
-          Modifier la valeur d’une clé
oRegistryKey.SetValue(sNomValeur, TextBox1.Text)
 
-          Supprimer une clé (d’abord on supprime la valeur de la clé puis la clé en elle-même)
oRegistryKey.DeleteValue(sNomValeur)
Microsoft.Win32.Registry.LocalMachine.DeleteSubKey(sCle)
 
 
 
III Code
    '// METHODES
    Public Sub creer_cle_registre()
        Dim oRegistryKey As Microsoft.Win32.RegistryKey
        Dim sCle As String
        Dim sNomValeur As String = "Info"
 
        Try
            '1 on essaie ouvrir la cle
            ' a définir la cle
            sCle = "Software" & My.Application.Info.AssemblyName
            ' b essayer ouvrir la cle
            oRegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sCle)
 
            '2 si on ne peut pas l'ouvrir c'est quelle nexiste pas donc on la crée
            If oRegistryKey Is Nothing Then
                ' a se placer
                oRegistryKey = Microsoft.Win32.Registry.LocalMachine
                ' b Créer la sous clé
                oRegistryKey = oRegistryKey.CreateSubKey(sCle)
                ' c Créer la valeur >> rk.SetValue(name, value)
                oRegistryKey.SetValue(sNomValeur, TextBox1.Text)
                ' d Refermer la sous-clé
                oRegistryKey.Close()
 
                MessageBox.Show("Clé créée avec succès")
            Else
                ' la cle existe deja
                MessageBox.Show("la clé existe deja")
            End If
        Catch ex As Exception
            MessageBox.Show("Erreur création de la clé : " & ex.Message.ToString)
        End Try
      
    End Sub
 
    Public Sub lire_cle_registre()
        Dim oRegistryKey As Microsoft.Win32.RegistryKey
        Dim sCle As String
        Dim sNomValeur As String = "Info"
 
        Try
            '1 on essaie ouvrir la cle
            ' a définir la cle
            sCle = "Software" & My.Application.Info.AssemblyName
            ' b essayer ouvrir la cle
            oRegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sCle)
 
            ' 2 selon que la cle existe ou non
            If oRegistryKey Is Nothing Then
                MessageBox.Show("la clé n'existe pas")
            Else
                MessageBox.Show(oRegistryKey.GetValue(sNomValeur).ToString)
                oRegistryKey.Close()
            End If
        Catch ex As Exception
            MessageBox.Show("Erreur lecture de la clé : " & ex.Message.ToString)
        End Try
    End Sub
 
    Public Sub modifier_valeur_cle()
        Dim oRegistryKey As Microsoft.Win32.RegistryKey
        Dim sCle As String
        Dim sNomValeur As String = "Info"
 
        Try
            '1 on essaie ouvrir la cle
            ' a définir la cle
            sCle = "Software" & My.Application.Info.AssemblyName
            ' b essayer ouvrir la cle
            oRegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sCle, True)
 
            ' 2 selon que la cle existe ou non
            If oRegistryKey Is Nothing Then
                MessageBox.Show("la clé n'existe pas")
            Else
                oRegistryKey.SetValue(sNomValeur, TextBox1.Text)
                oRegistryKey.Close()
                MessageBox.Show("la clé a été modifiée avec succès")
            End If
        Catch ex As Exception
            MessageBox.Show("Erreur modification de la clé : " & ex.Message.ToString)
        End Try
    End Sub
  
    Public Sub supprimer_cle()
        Dim oRegistryKey As Microsoft.Win32.RegistryKey
        Dim sCle As String
        Dim sNomValeur As String = "Info"
 
        Try
            '1 on essaie ouvrir la cle
            ' a définir la cle
            sCle = "Software" & My.Application.Info.AssemblyName
            ' b essayer ouvrir la cle
            oRegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sCle, True)
 
            If oRegistryKey Is Nothing Then
                MessageBox.Show("la clé n'existe pas")
            Else
                ' Suppression de la valeur
                oRegistryKey.DeleteValue(sNomValeur)
                ' Suppression de la clé
           Microsoft.Win32.Registry.LocalMachine.DeleteSubKey(sCle)
                oRegistryKey.Close()
                MessageBox.Show("Clé supprimée avec succès")
            End If
        Catch ex As Exception
            MessageBox.Show("Erreur suppression de la clé : " & ex.Message.ToString)
        End Try
    End Sub

Partager cet article

Repost 0
Published by Romagny13 - dans C 1.0- 2.0- 3.0
commenter cet article

commentaires