Рекурсивно удалить ветки реестра - 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) { } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д