Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хочется осуществить поиск по реестру не прибегая к 
:(
    Опции темы
FasterHarder
Дата 19.9.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



Всем программистам привет! Respect! В общем не подскажите идею как можно осуществлять поиск по реестру(реестр я построил + добавление/удаление узлов). Как я понимаю(достаточно сделать поиск только по названию узла), возможно необходимо просто пробегать по всему дереву и сравнивать фильтрующее значение с каждым узлом(думаю будет долговато)  или как то еще. Нашел пример в инете, где предлагают юзать WinApi, но хочется к нему не прибегать. Подскажите как быть то, может есть какие то легкие не стандартные решения?
PM MAIL   Вверх
tea_723
Дата 19.9.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



А чем тебя пространство My.Computer.Registry не устраивает? Например My.Computer.Registry.Users.GetSubKeyNames() вернет тебе массив строк с именами всех ключей в разделе HKEY_USERS...

PM MAIL   Вверх
FasterHarder
Дата 19.9.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



что то пространство имен My.Computer не вижу(может в 2003 есть подобное), я юзаю Microsoft.Win32.Registry. Я  знаю метод:
Код

string[] s = Registry.Users.GetSubKeyNames();

но фишка то в том, что возвращается только узлы второго уровня(а количество уровней может быть infinity). Т е необходимо пробегать по всем узлам как то рекурсионно. В общем...? 
PM MAIL   Вверх
FasterHarder
Дата 20.9.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 1.8.2007

Репутация: нет
Всего: нет



и еще один вопрос в догонку:

в общем допустим стою я на третем уровне иерархии HKEY_CURRENT_USER(EventLabels), затем программно добавляю новый простой узел и делаю такую весчь:
Код

tree_Nodes.Nodes[tree_Nodes.SelectedNode.Index].Collapse();
tree_Nodes.Nodes[tree_Nodes.SelectedNode.Index].Expand();

+ рефрешь. Новый узел становиться видимым(также видна эта же ветка). Затем если добавляю еще один узел, то после добавление у меня раскрывается только самый базовый уровень иерархии(а должен оставаться текущий). Также у меня есть такая весчь:
Код

//================================================================
        // Намерение: достроить дерево(соответствующие узлы) при раскрытии родительского узла
        //================================================================
        private void tree_Nodes_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            tree_Nodes.BeginUpdate();
            BuildTree(e.Node, 1);
            tree_Nodes.EndUpdate();
        }

Почему у меня после второго добавления узла открывается другой уровень иерархии и каким образом сделать так, чтобы независимо от количества добавляемых узлов была активна текущая ветка? Подскажите как быть то?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.