RegistryKey::DeleteSubKey Method (String^)

 

Deletes the specified subkey.

Namespace:   Microsoft.Win32
Assembly:  mscorlib (in mscorlib.dll)

public:
void DeleteSubKey(
	String^ subkey
)

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();
}

RegistryPermission

for the ability to modify the specified registry key. Associated enumeration: RegistryPermissionAccess::Write

SecurityPermission

for the ability to access the specified registry key if it is a remote key. Associated enumeration: SecurityPermissionFlag::UnmanagedCode

.NET Framework
Available since 1.1
Return to top
Show: