Рекурсивно удалить ветки реестра - C#

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

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

Доброго времени суток Сложилась такая ситуация, есть программа, которая хранит много значений в реестре. каждый удалять по отдельности как-то не правильно, да и все значения забивать на удаление тоже. появилась идея удалить всё в указанной ветке, вроде бы всё просто, но компилятор пишет ошибку. подскажите пожалуйста как исправить
        static void getr(RegistryKey r)
        {
            string[] sknames = r.GetSubKeyNames();
            for (int i = 0; i < sknames.Length; i++)
            {
                Console.WriteLine(r.OpenSubKey(sknames[i]).ToString());
 
                try
                {
                    r.DeleteSubKey(r.OpenSubKey(sknames[i]).ToString(), false);
 
                    Console.WriteLine(r.OpenSubKey(sknames[i]).ToString() +" DELETED!!!11!");
                }
                catch (Exception) { }
 
                getr(r.OpenSubKey(sknames[i]));
               // r.DeleteSubKeyTree(r.OpenSubKey( sknames[i]).ToString());
            }
 
        }
        static void Unistall()
        {
            getr(Registry.CurrentUser.OpenSubKey("MyTestProgramInstall"));

Решение задачи: «Рекурсивно удалить ветки реестра»

textual
Листинг программы
        static void get(RegistryKey r)
        {
            string[] sknames = r.GetSubKeyNames();
            for (int i = 0; i < sknames.Length; i++)
            {
                Console.WriteLine(r.OpenSubKey(sknames[i]).ToString());
 
                try
                {
                    r.DeleteSubKey(r.OpenSubKey(sknames[i]).ToString(), false);
 
                    Console.WriteLine(r.OpenSubKey(sknames[i]).ToString() + " DELETED!!!!!!");
                }
                catch (Exception) { }
 
            }
 
        }

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


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

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

8   голосов , оценка 4.25 из 5