11

サブキーを持つHKCUのキーを削除しようとすると、エラーが発生します。

これが私が使用しているコードです:

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

私が得るエラー:

レジストリキーにはサブキーがあり、再帰的な削除はこのメソッドではサポートされていません。

どうすればそれを克服できますか?

4

2 に答える 2

27

メソッドを使用しRegistryKey.DeleteSubKeyTreeます。

RegistryKey.DeleteSubKeyTreeメソッド(文字列)

サブキーと子サブキーを再帰的に削除します。

using(RegistryKey regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
    if (regkey.OpenSubKey("Google") != null)
    {
        regkey.DeleteSubKeyTree("Google");
    }
}
于 2013-03-25T01:15:47.423 に答える
1
using(var regkey = Registry.CurrentUser.OpenSubKey(@"Software\Policies\", true))
{
   regkey?.DeleteSubKeyTree("Google");
}
于 2017-08-09T19:37:15.143 に答える