Recuperer une valeur dans le registre

sorcier_sly Messages postés 53 Date d'inscription vendredi 26 mars 2004 Statut Membre Dernière intervention 27 février 2006 - 11 févr. 2006 à 10:50
PseudoFaischier Messages postés 5 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 20 juillet 2006 - 24 févr. 2006 à 18:35
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

Utilisateur anonyme
11 févr. 2006 à 11:40
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.
0
PseudoFaischier Messages postés 5 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 20 juillet 2006
24 févr. 2006 à 02:33
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
0
Utilisateur anonyme
24 févr. 2006 à 11:55
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.
0
PseudoFaischier Messages postés 5 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 20 juillet 2006
24 févr. 2006 à 18:35
Merci Kenji! nickel!
comme disent les anglais, you made my day!! ^^
0