尝试删除带有子键的注册表项会导致错误

本文关键字:注册表 错误 删除 | 更新日期: 2023-09-27 18:05:43

当我试图删除HKCU中有子键的键时,我得到一个错误。

下面是我使用的代码:
using (RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software'Policies'", true))
{
   if (regkey.OpenSubKey("Google") != null)
   {
      regkey.DeleteSubKey("Google");
   }
}

我得到的错误:

注册表项有子键,此方法不支持递归删除。

我怎样才能克服它?

尝试删除带有子键的注册表项会导致错误

使用RegistryKey.DeleteSubKeyTree方法

RegistryKey。deleetesubkeytree Method (String)

递归删除子键和所有子键。

using(RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software'Policies'", true))
{
    if (regkey.OpenSubKey("Google") != null)
    {
        regkey.DeleteSubKeyTree("Google");
    }
}
using(var regkey = Registry.CurrentUser.OpenSubKey(@"Software'Policies'", true))
{
   regkey?.DeleteSubKeyTree("Google");
}