Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > чтение из реестра


Автор: Henpyxa 27.10.2015, 11:46
доброго дня. 
подскажите, пожалуйста, что я делаю не так? у меня str принимает null
Код

Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion");
string str = (string)rk.getValue("value");

Автор: Angel_666 28.10.2015, 10:02
Код

Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion");
System.Object value = rk.GetValue("ProgramFilesPath"); // имя ключа в регистре
Console.WriteLine(value);


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_563072fdae20158c59886f51_0

Автор: Henpyxa 29.10.2015, 11:37
в твоем случае (имхо, развернутый аналог моего варианта) value = null
может ошибка в синтаксисе? может я путь ключа пишу неправильно?
хотя вроде уже все перепробовал, что в голову пришло

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_5631dabfae20154f70889006_0

Автор: Angel_666 29.10.2015, 12:29
https://msdn.microsoft.com/ru-ru/library/microsoft.win32.registry(v=vs.110).aspx
https://msdn.microsoft.com/ru-ru/library/microsoft.win32.registry.getvalue(v=vs.110).aspx

GetValue - Извлекает значение, связанное с указанным именем, в указанном разделе реестра. Если имя не найдено в указанном разделе, возвращает предоставленное значение по умолчанию или значение null, если указанный раздел не существует.

Судя по твоему пути
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Timer
У тебя должна быть папка Timer с лежащим в нем ключом Timer????

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_5631e704ae201561278870ee_0

Автор: Henpyxa 29.10.2015, 14:48
да, именно так, и в ключе записано значение "2"
если я в getvalue() вместо своего ключа указываю любой уже существующий, то оттуда извлекается реальное значение, а если указываю свой, то всегда null (всегда - потому что переносил ключ в другое место, там так же)
GetValue 3-им параметром получает дефолтное значение на случай, если по первым двум параметра ничего не найдет. в моем случае даже 10 (path, "Timer", 10) он как дефолтное не принимает, а присвваивает null на выходе

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_563207a1ae20156450886f55_0

Автор: Angel_666 29.10.2015, 21:08
Могу только предложить открыть данную ветку в regedit и скопировать название ключа в обработку как есть может что с символами не то.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_56326097ae20153a2d88711e_0

Автор: Henpyxa 30.10.2015, 07:52
так и делал изначально)) короче, я уже не знаю куда думать..

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_5632f798ae2015984a8874c7_0

Автор: Angel_666 30.10.2015, 12:37
Последняя идея может с правами доступа что то не так
http://www.windowsfaq.ru/content/view/304/60/

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_56333a46ae2015af44886faa_0

Автор: Henpyxa 30.10.2015, 14:57
посмотрел, все нормально, сделал шутки ради полный доступ ВСЕМ пользователям, один фиг.. ладно, может осенит как-нибудь. спасибо за участие

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_56335b3fae20155d67886f5d_0

Автор: Angel_666 30.10.2015, 15:17
Если осенит отпишись, что бы знать на будущее где копать smile 

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_56335fd4ae2015ae68887198_0

Автор: Henpyxa 12.11.2015, 07:58
плюнул и сделал запуск с параметром..)))

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/chteniye-iz-reyestra-id562f3a43ae201594788b4567#findElement_E7045_56441c86ae20151a748b5069_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)