Recuperer une valeur dans le registre

Signaler
Messages postés
53
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
27 février 2006
-
Messages postés
5
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2006
-
Salut,

J'ai des difficultes dans la recuperation d'une valeur d'une cle dans le registre.

J'utilise le code suivant :



Dim a
As RegistryKey = Registry.CurrentUser.OpenSubKey("Control Panel")



Dim b
As RegistryKey = a.OpenSubKey("Desktop")

Je voudrais recuperer la valeur de Wallpaper (c'est un chemin d'accès), pour cela j'utilise la propriete SetValue mais je ne sais pas si c'est la bonne propriete que je dois utiliser pour ce que je souhaite faire.
Par ailleurs, setvalue a besoin de deux arguments et je ne sais pas quoi mettre pour le 2e arguement. Le type du 2e arguement est : value as object, mais je ne sais pas a quoi ca correspond

Dim c
As RegistryKey = b.SetValue("Wallpaper", "")

merci pour tout !

4 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Bijour,

SetValue c'est pour modifier la valeur.
Pour la lire il faut donc utiliser GetValue:

Dim a As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Control Panel")
Dim b As Microsoft.Win32.RegistryKey = a.OpenSubKey("Desktop")
Dim c As String = CStr(b.GetValue("Wallpaper"))
System.Windows.Forms.MessageBox.Show(c)

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
Messages postés
5
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2006

meme soucis
j essaie de recuperer le nom de mon proc a partir de la base de registre
et ca marche pas...

Imports Microsoft.Win32

Dim CPUname
As Microsoft.Win32.RegistryKey = Registry.LocalMachine.OpenSubKey(
"HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString",
true)

(mon label)
CPU.Text = CPUname
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Attention, ne pas confondre les clé du registre et le valeur.
OpenSubKey sert a ouvrir la clé. Donc une fois ouverte il faut choisir la valeur à lire
Pour ca: on utilise GetValue

Dim KeyProcess As Microsoft.Win32.RegistryKey = Registry.LocalMachine.OpenSubKey("HARDWARE\DESCRIPTION\System\CentralProcessor\0") '// Ouvre la clé
Dim CPUname As String = CType(KeyProcess.GetValue("ProcessorNameString"), String) '// Lit la valeur
KeyProcess.Close() '// Fermeture de la clé
CPU.Text = CPUname '// Affichage

Kenji

<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
Messages postés
5
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2006

Merci Kenji! nickel!
comme disent les anglais, you made my day!! ^^