Bonjour à tous, et à toutes.
J'ai un comportement trés trés étrange que je ne m'explique pas. Soit mes yeux me jouent des tours, soit j'ai rien compris à l'utilisation de la classe Registry.
J'ai plusieurs projets différents dans une même solution. Et cette solution me permet de créer deux exécutables dans des répertoires différents. Il se trouve que j'ai besoin d'élements de configurations identique pour les deux executable. D'où mon utilisation de la base de registre car c'est un éléments facile d'accés pour les deux programmes sans devoir jongler avec les chemins d'accés pour des fichiers de configurations qui se trouverait dans le repertoire d'exécution.
ça c'est pour la petite histoire ^^. (Même si je ne suis pas sur qu'elle soit bien clair, mais c'est une autre histoire ).
Pour en revenir au sujet, l'un des exécutable, me permet bien d'accés à mes clés en base de registre en faisant quelque chose comme :
Registry.LocalMachine.OpenSubKey(@"Software\Code Arphonis").GetValue("ModeFonctionnement").ToString();
Mais lorsque je fais exactement la même chose sur l'autre executable ( en fait c'est avec l'utilisation d'une librairie pour cet executable mais je ne pense pas que cela rentre en jeu) J'ai une erreur de type NullReferenceException...
Aprés enquête j'ai fait un :
1 2 3
| RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
foreach(string s in rk.GetSubKeyNames())
Console.WriteLine(s); |
Afin de lister les clé sous Software et la J'ai pas de Code Arphonis, mais des valeurs qui sont présent dans HKEY_CURRENT_USER et non dans HKEY_LOCAL_MACHINE :s
Pourtant rassurer moi mais est bien censé récupérer les élements sous HKEY_LOCAL_MACHINE quoi qu'il arrive non?
J'ai l'impression de perdre la boule pour le coup... il est clair, qu'il y a quelque chose que je n'ai pas vu et qui me fait du fil à retordre
Bref si quelqu'un arrivait à éclairer ma lanterne, ce serai super gentil
EDIT:
Bon ayant un dual boot Windows7/ Windows XP, je constate que le problème ne se produit que sous Windows7. C'est pourtant la rtm proposé sur msdn...
Bref, je ne sais que quoi penser :s
Partager