Рекурсивно удалить ветки реестра - 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) { }
}
}