尝试使用子项删除注册表项会导致错误

use*_*745 8 .net c# registry

当我尝试删除具有子键的HKCU中的键时,我收到错误.

这是我正在使用的代码:

using (RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
   if (regkey.OpenSubKey("Google") != null)
   {
      regkey.DeleteSubKey("Google");
   }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

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

我怎么能克服它?

Jas*_*ins 24

使用该RegistryKey.DeleteSubKeyTree方法.

RegistryKey.DeleteSubKeyTree方法(String)

以递归方式删除子项和任何子子项.

using(RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
    if (regkey.OpenSubKey("Google") != null)
    {
        regkey.DeleteSubKeyTree("Google");
    }
}
Run Code Online (Sandbox Code Playgroud)