ここでレジストリキー値を読み取る方法についていくつかの記事を見ましたが、私はそれをすべてやっていると思いますが、私のケースで読んだキーは何らかの理由。 HKLM \ソフトウェアのC#レジストリキー/値の読み取り、キーは常にNULLです
は、私はキーのMyCompanyを作成し、そのキーの中に、私は別のキーMyAppのように作成:このキーでは HKLM \ SOFTWARE \ MyCompanyの\ MyAppの
を、私はMySetting」文字列の文字列値を追加しました「私は、次のコードを使用して、その値の読み取りしようとしています
:
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\MyCompany\MyApp", false))
{
string spaUrl = (String)key.GetValue("MySetting");
}
をしかしキーは、私は上記の場所に設定し、これらのキーと値を持っているにもかかわらず、常にnullです。私が間違って何をしているのか?
キーが常にnullであるため、System.NullReferenceExceptionが処理されない例外を受け取ることがあります。
SOLUTION
ルークMerrettのおかげで、以下の答え私はHKLM \ SOFTWARE \ WOW6432NODEにあるように、私のキーの位置を変更し、それが働きました。おかげでルーク
レジストリキーを読む権限がありますか? –
私は知らない。それを理解して許可を得るにはどうすればいいですか? – cd491415
これが問題かどうかを判断する簡単な方法は、あなたのアプリを管理者として実行することです。この方法で実行すると、呼び出しが成功する可能性が高くなります。その場合、アプリケーションが実行されているプリンシパルが特定のレジストリキーを読み取るためのアクセス権を持っていることを確認する必要があります –