Écriture/lecture dans la base de registre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 925 fois - Téléchargée 30 fois

Contenu du snippet

J'ai créer une classe qui permet la création, l'ajout, la modification et la suppréssion des clefs dans la base de registre de "windaube"

Source / Exemple :


Public Class RegEdit
    'aide:http://www.developpez.com/upload/plasserre/v4-16.htm

    '#########################################################
    'CurrentUser
    'Stocke les informations relatives aux préférences de l'utilisateur.
    'LocalMachine
    'Stocke les informations de configuration pour l'ordinateur local.
    'ClassesRoot
    'Stocke les informations relatives aux types (et classes) et à leurs propriétés.
    'Users
    'Stocke les informations relatives à la configuration utilisateur par défaut.
    'PerformanceData
    'Stocke les informations relatives aux performances pour les composants logiciels.
    'CurrentConfig
    'Stocke les informations concernant le matériel qui ne sont pas spécifiques à l'utilisateur.
    'DynData
    'Stocke les données dynamiques.
    '########################################################

    Private key As Microsoft.Win32.RegistryKey
    'retourne la valeur de la clé
    Public Function GetKeyValue(ByVal DirName As String, ByVal name As String) As String
        key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(DirName)
        Return key.GetValue(name)
    End Function

    'création d'une "occurence" dans la sous clé(DirName)
    Public Sub SetKeyValue(ByVal DirName As String, ByVal name As String, ByVal value As String)
        key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(DirName)
        key.SetValue(name, value)
    End Sub

    'efface la sous clé
    Public Sub DelKey(ByVal DirName As String)
        Microsoft.Win32.Registry.CurrentUser.DeleteSubKeyTree(DirName)
    End Sub

End Class

Conclusion :


c'est ma première j'attends vos conseils et critiques

A voir également

Ajouter un commentaire

Commentaires

g546954
Messages postés
2
Date d'inscription
dimanche 20 mai 2007
Statut
Membre
Dernière intervention
24 juillet 2009
-
salut a tous ;
comment je puisse afficher le continue de la clé
fjord71
Messages postés
10
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
15 août 2007
-
Merci TITANT, c'était pile le code que je recherchais ... simple, clair, efficace!!!
zoltar35
Messages postés
3
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
12 janvier 2007
-
Oui avec wmi car cela procure en plus la possibilté d'accéder à un registre à distance. Bien sùr c'est valable en VBScript ou Jscript, mais là n'était pas le sujet!

'==========================================================================
' Constantes du registre
'Const HKEY_LOCAL_MACHINE &H80000002
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_USERS = &H80000003

' Nom de la machine à atteindre
strComputer = "."

' Accès au registre par wmi
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv")

' Nom de la clé à modifier
strKeyPath = "MaClé"
' Nom de la valeur à modifier
strValue = "MaValeur"
' Valeur à affecter
lngValeur = 1
objReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath , strValue ,lngValeur
cs_Titant
Messages postés
103
Date d'inscription
mardi 2 juillet 2002
Statut
Membre
Dernière intervention
21 juillet 2008
-
'PLUS SIMPLE, JE SAIS PAS SI Y'A.


Private Sub Lire_Click()

'permet de lire une valeur dans la base de registre
Set WshShell = CreateObject("Wscript.Shell")

Text1.Text = WshShell.RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay") 'Mettez ici le chemin de la clé et le nom d'un paramêtre pour obtenir sa valeur

'Remarque :HKEY_CURRENT_USER peut être remplacé par HKCU
'On peut mettre n'importe quelle branche comme ça

End Sub

Private Sub Ecrire_Click()
'Permet d'écrire dans la base de registre tout type de valeur (valeur chaîne, dword, binaire) ou de créer une nouvelle branche ....

Set WshShell = CreateObject("Wscript.Shell")

WshShell.RegWrite "HKCU\essaiVisualBasic\Nom d'un paramètre", "Valeur de celui-ci"
WshShell.RegWrite "HKCU\essaiVisualBasic\Créer Clé 1 Dword", 1, "REG_DWORD"
WshShell.RegWrite "HKCU\essaiVisualBasic\Créer Clé 2 binaire", 1, "REG_BINARY" 'Le 1, c'est la valeur de la valeur binaire (!)


End Sub

Private Sub Supprimer_Click()

'Permet d'effacer dans la base de registre tout type de valeur (valeur chaîne, dword, binaire)

Set WshShell = CreateObject("Wscript.Shell")

WshShell.RegDelete "HKCU\essaiVisualBasic\NOM DU PARAMETRE" ' supprime le paramètre
WshShell.RegDelete "HKCU\essaiVisualBasic\NOM D'UNE CLE" 'Supprime une clé


End Sub


'@ +
zoltar35
Messages postés
3
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
12 janvier 2007
-
Si programmer sur le système "Windaube" te pose problème, mieux vaut aller tout de suite sous Linux!
Sinon tu pourrais inclure dans ton code:
- L'imports de Microsoft.Win32.
- Une classe statique.
- La gestion des erreurs.
- L'accès au registre d'une machine distante.
Bon courage.

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.