RegistryKey::DeleteSubKeyTree Method (String^)
Deletes a subkey and any child subkeys recursively.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- subkey
-
Type:
System::String^
The subkey to delete. This string is not case-sensitive.
| Exception | Condition |
|---|---|
| ArgumentNullException | subkey is null. |
| ArgumentException | Deletion of a root hive is attempted. -or- subkey does not specify a valid registry subkey. |
| IOException | An I/O error has occurred. |
| SecurityException | The user does not have the permissions required to delete the key. |
| ObjectDisposedException | The RegistryKey being manipulated is closed (closed keys cannot be accessed). |
| UnauthorizedAccessException | The user does not have the necessary registry rights. |
You must have appropriate permissions to delete the subkey and its tree.
Caution |
|---|
Deleting a particular key will remove all entries below the key in the tree. No warning will be provided. If you want to delete a subkey only when it has no child subkeys, use the DeleteSubKey method. |
This code example is part of a larger example provided for the RegistryKey class.
// 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(); }
for the ability to modify the specified registry key. Associated enumeration: RegistryPermissionAccess::Write
for the ability to access the specified registry key if it is a remote key. Associated enumeration: SecurityPermissionFlag::UnmanagedCode
Available since 1.1
