2016-03-17 104 views
-4

價值我想從註冊表值,但是他說:從註冊表獲得

對象引用不設置到對象的實例

關鍵在具體路徑存在

RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MICROSOFT\\WINDOWS"); 
string st = key.GetValue("LastVerify").ToString(); 
+0

您得到的NullReferenceException意味着該調用中的某個內容將返回'null'。嘗試將其分解爲單獨的語句,以便您可以確切地看到'null'的位置。 –

+0

您正在創建一個新密鑰並從中獲取價值。當然,這個值將是'null',因爲它還不存在 –

+0

我在第一個例子中看到'CreateSubKey',在第二個例子中看到'OpenSubKey'。你能解釋你在做什麼,或者只是一種類型。 –

回答

2

您需要打開密鑰,而不是創建它。

using (var key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MICROSOFT\\WINDOWS")) 
{ 
    if (key != null) 
    { 
     var value = key.GetValue("LastVerify"); 
     if (value != null) 
     { 
      var lastVerify = value; // cast to whatever type LastVerify is 
     } 
    } 
} 
+0

再次值爲空,我測試了這種方式並編輯了問題 – SajjadZare

+0

@SajjadZare所以?如果沒有任何價值,它將爲空...確保問題涵蓋了你實際想要達到的目標... –

+0

我爲註冊表中的值設置,現在它具有價值 – SajjadZare