RegistryKey.GetValueNames() возвращает неверный результат? - C#

Узнай цену своей работы

Формулировка задачи:

Работая с реестром, заметил, что RegistryKey.GetValueNames() возвращает не верный результат. В частности, в одном ключе метод возвращает одно только значение по умолчанию, в то время как у него есть 3 параметра. Эти три параметра видны в regedit, один из них я лично создал, но метод их в упор не видит. При открытии данного ключа, в свойстве ValueCount, тоже значение "1" вместо "3". Понятия не имею в чем причина, и как фиксить библиотечную функцию. Код открытия ключа
Листинг программы
  1. RegistryKey RootKey = GethKey(root);
  2. RegistryKey Key = RootKey.OpenSubKey(Substring);
Код получения имен параметров
Листинг программы
  1. string[] KeyValues = Key.GetValueNames();
Скрины отладчика и regedit

Решение задачи: «RegistryKey.GetValueNames() возвращает неверный результат?»

textual
Листинг программы
  1. using (var classesRoot = RegistryKey.OpenBaseKey(RegistryHive.ClassesRoot, RegistryView.Registry64))
  2. using (var key = classesRoot.OpenSubKey(@"CLSID\{1B261B22-AC6A-4E68-A870-AB5080E8687B}\LocalServer32"))
  3. {
  4.     string[] names = key.GetValueNames();
  5. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы