Рекурсивный обход реестра - C#

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

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

Вообщем сижу я тут и думаю как обойьт рекурсивно весь реестр (все ветки) вроде дело в гору а всеже ошибка
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;
 
namespace Обход_реестра
{
    class Program
    {
       static void ScanReg(string key, Boolean flag = false)
        {
            string[] obj;
            RegistryKey hklm = Registry.CurrentUser;
 
            if (flag == false)
            {               
                obj = hklm.GetSubKeyNames();    //получаем список элементов
            }
 
            for (int i = 0; i < hklm.SubKeyCount ; i++) //входим в каждый элемент по списку
            {
                //рекрсивно вызываем эту функцию!!
                ScanReg(obj[i], true);
 
            }
         
                //попытаемся зайти в первый элемент
               // ScanReg(obj[0], true);

        }

        static void Main(string[] args)
        {
            ScanReg("");

        }
    }
}
Лажа в том что не могу зайти в свою функцию рекурсивно - точнее не могу получить индекс элемента от массива в котором распологаеться список ключей для текущей ветки ПОМОГИТЕ КАК ТУТ? //попытаемся зайти в первый элемент // ScanReg(obj[0], true); Среда пишет ошибку: использование локальной переменной obj которой неприсовено значение

Решение задачи: «Рекурсивный обход реестра»

textual
Листинг программы
static void ScanReg(string key, bool flag = false)
        {
            RegistryKey hklm;
            if (!flag)
            {
                hklm = Registry.CurrentUser;
            }
            else
            {
                hklm = Registry.CurrentUser.OpenSubKey(key);
            }
            string[] keys = hklm.GetSubKeyNames();    //получаем список элементов
 
            foreach (string K in keys)
            {
                if (flag)
                    ScanReg(key + "\\" + K, true);
                else
                    ScanReg(K, true);
            }
        }

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


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

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

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