2017-06-05 29 views
0

我試圖通過C#獲得R安裝路徑,但不幸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

嘗試使用

Registry.GetValue (String, String, Object) 

後,你建議立即進行刪除投對象的類型。 有關MSDN上可以找到的更多信息 GetValue Description

+0

我試過已經...它返回第三個參數(默認值) – Azeros

+0

下一步。你可以檢查你的密鑰的完整路徑,以避免與「Current_User \ Local_Machine」 – gvindar

+0

錯誤你是什麼意思? – Azeros