Cette classe comporte 2 fonctions :
- copyTreeKeys(source, destination) qui permet de copier tout le contenu (sous-clés, sous clés des sous-clés, etc. et les valeurs contenues
dans chacune de ces sous-clés vers la destination. On peut ainsi déplacer facilement les données d'une clé racine vers une autre.
Ex. : RegistryUtil.copyTreeKey(Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Ahead").OpenSubKey("Nero -
Burning Rom"), Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software").CreateSubKey("Backup
Registry").CreateSubKey("Ahead").CreateSubKey("Nero - Burning Rom"))
Cet exemple copie l'arborescence complète (sous-clés et valeurs) depuis la clé source vers la clé de destination.
- copyValues(source, destination) qui permet de copier uniquement toutes les valeurs d'une clé registre vers une autre clé registre.
Ex. : Idem que pour la fonction précédente mais cette fonction ne copie que les valeurs directement liées à la clé source et elle ne
copie pas les sous-clés.
- subKeyExist(cleRegistre, sousCleAVerifier) renvoie True si la sous-clé existe dans la clé registre spécifiée en premier argument de la
fonction sinon, renvoie False.
Ex. : RegistryUtil.subKeyExist(Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software"), "Ahead")
Cet exemple vérifie l'existance de la sous-clé "Ahead" dans la clé-registre HKEY_LOCAL_MACHINE\Software
Source / Exemple :
Public Class RegistryUtil
'Copie récursive des clés et valeurs
Public Shared Sub copyTreeKey(ByVal regSource As Microsoft.Win32.RegistryKey, ByVal regDest As Microsoft.Win32.RegistryKey)
copyValues(regSource, regDest) 'Copie des valeurs de la clé en cours
For Each sKey As String In regSource.GetSubKeyNames 'Création et parcours des sous-clés
copyTreeKey(regSource.OpenSubKey(sKey), regDest.CreateSubKey(sKey))
Next
regSource.Close()
regDest.Close()
End Sub
'Copie des valeurs d'une clé
Public Shared Sub copyValues(ByVal regSource As Microsoft.Win32.RegistryKey, ByVal regDest As Microsoft.Win32.RegistryKey)
For Each sKey As String In regSource.GetValueNames 'Parcours des valeurs
regDest.SetValue(sKey, regSource.GetValue(sKey))
Next
End Sub
'Vérifie l'existance d'une clé
Public Shared Function subKeyExist(ByVal regSource As Microsoft.Win32.RegistryKey, ByVal sSubKey As String) As Boolean
For Each sKey As String In regSource.GetSubKeyNames 'Parcours des sous-clés
If sKey.ToUpper() = sSubKey.ToUpper() Then Return True
Next
Return False
End Function
End Class
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.