2016-03-17 4 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

снова значение null, я протестировал этот путь и отредактировал вопрос – SajjadZare

+0

@SajjadZare так? Если нет значения, это будет null ... Убедитесь, что вопрос охватывает то, что вы на самом деле пытаетесь достичь ... –

+0

Я установил значение для входа в реестр и теперь он имеет значение – SajjadZare

 Смежные вопросы

  • Нет связанных вопросов^_^