инициализация RegistryKey
От: born2fly  
Дата: 17.09.02 10:03
Оценка:
Привет

Попытался организовать работу с реестром через класс RegistryKey. Конструктора у него нет, в MSDN написано, что необходимо инициализировать экземпляр данного класса через статический метод OpenSubKey.
То есть, что-то вроде такого:


RegistryKey test;
test = RegtistryKey.OpenSubKey("HKEY_LOCAL_MACHINE...");


Но проблема в том, что метод OpenSubKey совсем не статический. А других способов проинициализировать экземляр RegistryKey я не нашел. Подскажите, как это можно решить.
Заранее спасибо.
Re: инициализация RegistryKey
От: TK Лес кывт.рф
Дата: 17.09.02 10:09
Оценка:
Здравствуйте born2fly, Вы писали:

B>Привет


B>Попытался организовать работу с реестром через класс RegistryKey. Конструктора у него нет, в MSDN написано, что необходимо инициализировать экземпляр данного класса через статический метод OpenSubKey.

B>То есть, что-то вроде такого:


B>Но проблема в том, что метод OpenSubKey совсем не статический. А других способов проинициализировать экземляр RegistryKey я не нашел. Подскажите, как это можно решить.




Registry.LocalMachine
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: инициализация RegistryKey
От: Lloyd Россия  
Дата: 17.09.02 10:14
Оценка: 2 (1)
Здравствуйте born2fly, Вы писали:

B>Привет


B>Но проблема в том, что метод OpenSubKey совсем не статический. А других способов проинициализировать экземляр RegistryKey я не нашел. Подскажите, как это можно решить.

B>Заранее спасибо.

Вот это взять из Януса

   RegistryKey luk = Registry.CurrentUser.OpenSubKey(KEY_PATH);
   if(luk != null) 
   {
    object dbp = luk.GetValue(KEY_NAME);
    if((dbp != null)&&(IsDbAndCfgExists(dbp.ToString())))
     res = true;
    luk.Close();
   }
Re[2]: инициализация RegistryKey
От: born2fly  
Дата: 17.09.02 10:43
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Здравствуйте born2fly, Вы писали:


B>>Привет


B>>Но проблема в том, что метод OpenSubKey совсем не статический. А других способов проинициализировать экземляр RegistryKey я не нашел. Подскажите, как это можно решить.

B>>Заранее спасибо.

L>Вот это взять из Януса


L>
L>   RegistryKey luk = Registry.CurrentUser.OpenSubKey(KEY_PATH);
L>   if(luk != null) 
L>   {
L>    object dbp = luk.GetValue(KEY_NAME);
L>    if((dbp != null)&&(IsDbAndCfgExists(dbp.ToString())))
L>     res = true;
L>    luk.Close();
L>   }
L>


Ок, спасибо. Попробую :)
Re[2]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 17:47
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Вот это взять из Януса


L>
L>   RegistryKey luk = Registry.CurrentUser.OpenSubKey(KEY_PATH);
L>   if(luk != null) 
L>   {
L>    object dbp = luk.GetValue(KEY_NAME);
L>    if((dbp != null)&&(IsDbAndCfgExists(dbp.ToString())))
L>     res = true;
L>    luk.Close();
L>   }
L>


Кстити, писателям из януса нужно по шее дать, чтобы больше столь потенциально глючного кода не создавали. Какие Close-ы?

Нужно что-то вроде этого:
using(RegistryKey rk = Registry.CurrentUser)
using(RegistryKey rkAscSearch = rk.CreateSubKey(@"Software\OPTIM.RU\AscSearch"))
  m_sCurrentConfig = (string)rkAscSearch.GetValue("m_sCurrentConfig");


Т.е. все что реализует IDispouse нужно юзать в using-ке.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 18:04
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Кстити, писателям из януса нужно по шее дать, чтобы больше столь потенциально глючного кода не создавали. Какие Close-ы?


Долго вспоминал почему и как. Наконец вспомнил. В шарповском компилере есть конкретный глюк — у него срывает крышу на юзингах иногда. Как раз в этом методе у него крышу сорвало напрочь. Я долго ковырялся, но так ничего сделать не смог. Поэтому и сделал так временно. А потом забыл .

Кстати, там есть метод работы с реестром нормальный, с юзингами. Причем он раньше. Почему выдернули этот не знаю.

PS: проблема решается втыканием фигурных скобок.
<<... J 1.0 alpha 5 >>
AVK Blog
Re[4]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 18:21
Оценка:
Здравствуйте AndrewVK, Вы писали:

AVK>Долго вспоминал почему и как. Наконец вспомнил. В шарповском компилере есть конкретный глюк — у него срывает крышу на юзингах иногда. Как раз в этом методе у него крышу сорвало напрочь. Я долго ковырялся, но так ничего сделать не смог.


Показал бы это дело. Я один раз встречал интернал компайлер эрор на конструкции типа:
using(xxx)
  if(yyy)
    zzz;


Но это легко лечилось:
using(xxx)
{
  if(yyy)
    zzz;
}


AVK>Поэтому и сделал так временно. А потом забыл .


Дык тогда нужно было в try/finally брать.

AVK>Кстати, там есть метод работы с реестром нормальный, с юзингами. Причем он раньше. Почему выдернули этот не знаю.


Ну это по закону подлости.

AVK>PS: проблема решается втыканием фигурных скобок.


Ну, дык и я об этом!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 18:23
Оценка:
Здравствуйте AndrewVK, Вы писали:

Кстати, это... того... верните юзинг. Проект то открытый. На нем пол страны может шарп изучить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 18:47
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Кстати, это... того... верните юзинг. Проект то открытый. На нем пол страны может шарп изучить.


Ну насчет полстраны ты конечно загнул. Но уже исправил.

PS: Ты кстати скачай и собери янус, может чего посоветуешь, а то все как то заочно получается. Или ты визивиг ждешь?
<<... J 1.0 alpha 5 >>
AVK Blog
Re[6]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 19:42
Оценка:
Здравствуйте AndrewVK, Вы писали:

AVK>PS: Ты кстати скачай и собери янус, может чего посоветуешь, а то все как то заочно получается. Или ты визивиг ждешь?


Честно говоря очень уж влом возиться с CVS-ом по моему гребаному Интернету. Я как-то попробывал и ... до сих пор не пойму толи я чё напутал, толи инет глючил.

Вы бы инсрукцию пошаовку (для тупых вроде меня) сделали что ли.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 19:49
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Вы бы инсрукцию пошаовку (для тупых вроде меня) сделали что ли.


Так есть же в самом начале форума сообщение с инструкцией. У тебя вроде никакого прокси или фаервола, так что вобще проблем никаких быть не должно.
Вкратце скачиваешь WinCVS, запускаешь, в меню Create выбираешь checkout module. В закладке Checkout settings в Module name указываешь Janus, в local folder папку куда развернеться локальная копия. Затем выбираешь закладку general, в ней Authentification выбираешь pserver, Path: \public, Host address: www.rsdn.ru, User name: твой_логин:твой_пароль. Все. Жмешь OK и здешь когда все выкачается.
<<... J 1.0 alpha 5 >>
AVK Blog
Re[8]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 20:14
Оценка:
Здравствуйте AndrewVK, Вы писали:

Так замечательно... произошло чудо и я не вылетел при перекачке (хотя качать было что).

Что еще нужно чтобы запустить Янус?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 20:22
Оценка:
Здравствуйте AndrewVK, Вы писали:

Да... и вот еще что... как в этом чуде чекаут сделать? Ну и чекин?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 20:25
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Так замечательно... произошло чудо и я не вылетел при перекачке (хотя качать было что).


VD>Что еще нужно чтобы запустить Янус?


Скомпилировать, запустить, указать каталог для базы и логин с паролем, нажать на кнопочку синхронизации. Затем подписаться на новые форумы и еще раз постучаться на сервер. Должны появиться сообщения за последний день.
<<... J 1.0 alpha 5 >>
AVK Blog
Re[9]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 20:29
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Да... и вот еще что... как в этом чуде чекаут сделать? Ну и чекин?


Не понял. Ты по русски можешь? И давай в соотв. форум
<<... J 1.0 alpha 5 >>
AVK Blog
Re[10]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 20:41
Оценка:
Здравствуйте AndrewVK, Вы писали:

VD>>Да... и вот еще что... как в этом чуде чекаут сделать? Ну и чекин?


AVK>Не понял. Ты по русски можешь? И давай в соотв. форум


Ну чек-аут (взять на разработку) и чек-ин (положить в базу). Ладно с этим я разобрался.

Вопрос второй как мне подключить внешний diff? Этим уродством встроенным пользоваться оочень не хочется.

И как увидить список лерсий файла?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: инициализация RegistryKey
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.09.02 20:45
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Вопрос второй как мне подключить внешний diff? Этим уродством встроенным пользоваться оочень не хочется.


Не знаю. Мне встроенного хватает, поскольку пользуюсь очень редко

VD>И как увидить список лерсий файла?


Graph selection
<<... J 1.0 alpha 5 >>
AVK Blog
Re[12]: инициализация RegistryKey
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.09.02 20:49
Оценка:
Здравствуйте AndrewVK, Вы писали:

AVK>Не знаю. Мне встроенного хватает, поскольку пользуюсь очень редко


Жаль. Я бы хотел виндифом пользоваться хотябы.

AVK>Graph selection


Аднако продвинуто. Без графики не как. Я эту приблуду тоже заметил, но думал есть что-нибудь по проще.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.