RegistryKey::DeleteSubKey Method (String^)
Deletes the specified subkey.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- subkey
-
Type:
System::String^
The name of the subkey to delete. This string is not case-sensitive.
| Exception | Condition |
|---|---|
| InvalidOperationException | The subkey has child subkeys |
| ArgumentException | The subkey parameter does not specify a valid registry key |
| ArgumentNullException | subkey is null |
| 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. |
To delete child subkeys, use DeleteSubKeyTree.
Use caution when deleting registry keys.
The following example demonstrates how to use DeleteSubKey.
using namespace System; using namespace Microsoft::Win32; public ref class RegKeyDel { public: static void Main() { // Create a subkey named Test9999 under HKEY_CURRENT_USER. RegistryKey^ test9999 = Registry::CurrentUser->CreateSubKey("Test9999"); // Create two subkeys under HKEY_CURRENT_USER\Test9999. The // keys are disposed when execution exits the using statement. RegistryKey^ testName = test9999->CreateSubKey("TestName"); RegistryKey^ testSettings = test9999->CreateSubKey("TestSettings"); // Create data for the TestSettings subkey. testSettings->SetValue("Language", "French"); testSettings->SetValue("Level", "Intermediate"); testSettings->SetValue("ID", 123); // delete the subkey "TestName" test9999->DeleteSubKey("TestName"); // delete everything under and including "Test9999" Registry::CurrentUser->DeleteSubKeyTree("Test9999"); } }; int main() { RegKeyDel::Main(); }
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