次の方法で共有


RegistryKey.DeleteSubKeyTree メソッド

サブキーとその子サブキーを再帰的に削除します。文字列 subKey では、大文字と小文字は区別されません。

Public Sub DeleteSubKeyTree( _
   ByVal subkey As String _)
[C#]
public void DeleteSubKeyTree(stringsubkey);
[C++]
public: void DeleteSubKeyTree(String* subkey);
[JScript]
public function DeleteSubKeyTree(
   subkey : String);

パラメータ

  • subkey
    削除するサブキー。

例外

例外の種類 条件
ArgumentNullException subkey パラメータが null 参照 (Visual Basic では Nothing) です。
ArgumentException ルート ハイブを削除しようとしました。

subkey パラメータが、有効なレジストリ サブキーと一致しません。

SecurityException このユーザーには、RegistryPermission.SetInclude(delete, currentKey) アクセス許可がありません。

解説

サブキーとそのツリーを削除するための適切なアクセス許可が必要です。

注意   特定のキーを削除すると、ツリー内のそのキーの下にあるすべてのエントリも削除されます。警告は表示されません。子サブキーのないサブキーだけを削除するには、 DeleteSubKey を使用します。

使用例

[Visual Basic, C#, C++] 次のコード例は RegistryKey クラスの例の一部です。

 
' Delete or close the new subkey.
Console.Write(vbCrLf & "Delete newly created " & _
    "registry key? (Y/N) ")
If Char.ToUpper(Convert.ToChar(Console.Read())) = "Y"C Then
    Registry.CurrentUser.DeleteSubKeyTree("Test9999")
    Console.WriteLine(vbCrLf & "Registry key {0} deleted.", _
        test9999.Name)
Else
    Console.WriteLine(vbCrLf & "Registry key {0} closed.", _
        test9999.ToString())
    test9999.Close()
End If

[C#] 
// Delete or close the new subkey.
Console.Write("\nDelete newly created registry key? (Y/N) ");
if(Char.ToUpper(Convert.ToChar(Console.Read())) == 'Y')
{
    Registry.CurrentUser.DeleteSubKeyTree("Test9999");
    Console.WriteLine("\nRegistry key {0} deleted.", 
        test9999.Name);
}
else
{
    Console.WriteLine("\nRegistry key {0} closed.", 
        test9999.ToString());
    test9999.Close();
}

[C++] 
// Delete or close the new subkey.
Console::Write(S"\nDelete newly created registry key? (Y/N) ");
if(Char::ToUpper(Convert::ToChar(Console::Read())) == 'Y')
{
    Registry::CurrentUser->DeleteSubKeyTree(S"Test9999");
    Console::WriteLine(S"\nRegistry key {0} deleted.", 
        test9999->Name);
}
else
{
    Console::WriteLine(S"\nRegistry key {0} closed.", 
        test9999->ToString());
    test9999->Close();
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

  • RegistryPermission (指定したレジストリ キーを変更するために必要なアクセス許可) Write (関連する列挙体)
  • SecurityPermission (指定したレジストリ キーがリモート キーである場合にアンマネージ コードにアクセスするために必要なアクセス許可) UnmanagedCode (関連する列挙体)

参照

RegistryKey クラス | RegistryKey メンバ | Microsoft.Win32 名前空間 | DeleteSubKey | CreateSubKey | DeleteValue | GetSubKeyNames | SubKeyCount