2017-06-05 6 views
0

Cのインストールパスを取得しようとしていますが、残念ながらRegistry.LocalMachine.OpenSubKey(keyName)メソッドはnullを返します。C#レジストリから値を取得できません

これは私のコードです:

var keyName = @"SOFTWARE\R-core\R"; 

using (var key = Registry.LocalMachine.OpenSubKey(keyName)) 
{ 
    if (key != null) 
    { 
     var value = key.GetValue("InstallPath", 0); 
     Console.WriteLine(value); 
    } 
    else 
    { 
     Console.WriteLine("No key found!"); 
    } 

} 

キーが存在し、それがない場合、私は手動でチェックしました。

答えて

0

はあなたの型にオブジェクトをキャストshoulその後

Registry.GetValue (String, String, Object) 

を使用してみてください。 MSDNで見つけられるその他の情報 GetValue Description

+0

私はすでにそれを試みました...それは第3パラメータ(デフォルト値)を返します – Azeros

+0

次のステップ。 "Current_User \ Local_Machine"で間違いを避けるためにあなたの鍵への完全なパスを確認することができます – gvindar

+0

それはどういう意味ですか? – Azeros

関連する問題