当我尝试删除具有子键的HKCU中的键时,我收到错误。
以下是我正在使用的代码:
using (RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
if (regkey.OpenSubKey("Google") != null)
{
regkey.DeleteSubKey("Google");
}
}
我得到的错误:
注册表项具有子项,此方法不支持递归删除。
我怎样才能克服它?
答案 0 :(得分:21)
使用RegistryKey.DeleteSubKeyTree
方法。
RegistryKey.DeleteSubKeyTree Method (String)
递归删除子项和子子项。
using(RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
if (regkey.OpenSubKey("Google") != null)
{
regkey.DeleteSubKeyTree("Google");
}
}
答案 1 :(得分:1)
using(var regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
regkey?.DeleteSubKeyTree("Google");
}