Войти

Показать полную графическую версию : [решено] NullReferanceException не обработано.


Virtyaluk
22-03-2010, 12:11
Здравствуйте,
помогите решить проблему.
при считывании информации с реестра в переменную появляется ошибка, типа:
"NullReferanceException не обработано.В экземпляре объекта не задана ссылка на объект"
Вот код:
RegistryKey readKey1 = Registry.LocalMachine.OpenSubKey("software\\7-zip");
string loadString1 = (string)readKey1.GetValue("Path");
readKey1.Close();
label3.Text = (loadString1);

Если так:

RegistryKey readKey1 = Registry.LocalMachine.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
string loadString1 = (string)readKey1.GetValue("ProcessorNameString");
readKey1.Close();
label1.Text = (loadString1);

то ошибок нет.
Что и где неправильно написано?

pva
22-03-2010, 17:29
я вижу отличие "\\" в начале пути в неправильном случае

Virtyaluk
22-03-2010, 20:47
pva,
те 2 слеши то опечатка.

pva
24-03-2010, 09:54
что за библиотека?

Virtyaluk
24-03-2010, 11:08
что за библиотека? »
нет никаких дополнительных библиотек.
Пишу на C# в среде Visual Studio 2008 PE.
и вот такие ошибки: в одном случае считывает в переменную реестр, а в другом нет.
также само и запись в реестр:
в этом случае пишет в реестр:

private void button1_Click(object sender, EventArgs e)
{
string text = System.IO.File.ReadAllText(@"C:\registrytype.cfg");
Microsoft.Win32.RegistryKey myKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Control Panel\Cursors\Schemes\", true);
myKey.SetValue("IS 2010 Tronnix", text);
myKey.Close();
MessageBox.Show("Набор установлен!");
}

а если пробую записать в ветку LocalMachine\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon
то выдает ошибку о отказе в доступе т.е. что-то типа "только чтение" в файла.
но оно и не пишет туда и не читает оттуда, все время присваивает переменной значение null, хотя в реестре есть ключ к которому я привязываю переменную.
что-то я не пойму что делать, а??
работаю с Windows 7 ОС.

Virtyaluk
24-03-2010, 16:33
Спасибо за помощь, проблема решена.
Решение тут (http://social.msdn.microsoft.com/Forums/ru-RU/csharpgeneral/thread/359b7cfc-f3bc-4291-9093-1389d457361d) .
Virtyaluk




© OSzone.net 2001-2012