Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] NullReferanceException не обработано. (http://forum.oszone.net/showthread.php?t=170867)

Virtyaluk 22-03-2010 12:11 1374358

NullReferanceException не обработано.
 
Здравствуйте,
помогите решить проблему.
при считывании информации с реестра в переменную появляется ошибка, типа:
"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 1374617

я вижу отличие "\\" в начале пути в неправильном случае

Virtyaluk 22-03-2010 20:47 1374767

pva,
те 2 слеши то опечатка.

pva 24-03-2010 09:54 1375869

что за библиотека?

Virtyaluk 24-03-2010 11:08 1375928

Цитата:

Цитата pva
что за библиотека? »

нет никаких дополнительных библиотек.
Пишу на 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 1376169

Спасибо за помощь, проблема решена.
Решение тут .
Virtyaluk


Время: 01:44.

Время: 01:44.
© OSzone.net 2001-