Ich habe mehrere Posts darüber gelesen, wie man den Wert des Registrierungsschlüssels hier liest, und ich denke, dass ich alles richtig mache, aber der Schlüssel, den ich in meinem Fall lese, ist aus irgendeinem Grund immer Null .C# Lesen des Registrierungsschlüssels/Wertes, Schlüssel ist immer NULL
In HKLM \ SOFTWARE, I-Taste MyCompany erstellt und dann innerhalb dieser Schlüssel, habe ich einen anderen Schlüssel MyApp wie: HKLM \ SOFTWARE \ MyCompany \ MyApp
In diesem Schlüssel, fügte ich MySetting einen String String-Wert“ "
ich versuche, diesen Wert mit folgendem Code zu lesen:
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\MyCompany\MyApp", false))
{
string spaUrl = (String)key.GetValue("MySetting");
}
aber der Schlüssel ist immer null, obwohl ich diese Schlüssel und Wert habe oben an der Stelle gesetzt. Irgendeine Idee, was ich falsch mache?
Ich bekomme System.NullReferenceException wurde unbehandelt Ausnahme weil Schlüssel immer Null ist.
SOLUTION
Dank Luke Merrett unten beantworten, ich die Position meiner ändern in HKLM \ SOFTWARE \ WOW6432Node und das funktionierte zu sein. Danke Luke
Haben Sie die Berechtigung, den Registrierungsschlüssel zu lesen? –
Ich weiß es nicht. Wie finde ich das heraus und erhalte die Erlaubnis? – cd491415
Eine einfache Möglichkeit, um festzustellen, ob dies das Problem ist, wäre, Ihre App als Administrator zu betreiben. Wenn es auf diese Weise erfolgreich ausgeführt wird, ist das Problem wahrscheinlich das Problem. In diesem Fall müssen Sie sicherstellen, dass der Prinzipal, in dem die App ausgeführt wird, Berechtigungen zum Lesen des spezifischen Registrierungsschlüssels hat. –