# RegDelete

Deletes a subkey or value from the registry.

## New Syntax [v1.1.21+]

    RegDelete, KeyName , ValueName

### Parameters

KeyName

  The full name of the registry key.

  This must start with HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, or HKEY_CURRENT_CONFIG (or the abbreviations for each of these, such as HKLM). To access a remote registry, prepend the computer name and a colon (or [in v1.1.21+] a slash), as in this example: `\\workstation01:HKEY_LOCAL_MACHINE`

ValueName

  The name of the value to delete. If omitted, the entire KeyName will be deleted. To delete KeyName's default value -- which is the value displayed as "(Default)" by RegEdit -- use the phrase `AHK_DEFAULT` for this parameter.

### Examples

    RegDelete, HKEY_LOCAL_MACHINE\Software\SomeApplication, TestValue

## Old Syntax

Deprecated: This syntax is not recommended for use in new scripts. Use the new syntax instead.

    RegDelete, RootKey, SubKey , ValueName

### Parameters

RootKey

  Must be either HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_USER, HKEY_CLASSES_ROOT, or HKEY_CURRENT_CONFIG (or the abbreviations for each of these, such as HKLM). To access a remote registry, prepend the computer name and a colon (or [in v1.1.21+] a slash), as in this example: `\\workstation01:HKEY_LOCAL_MACHINE`

SubKey

  The name of the subkey (e.g. Software\SomeApplication).

ValueName

  The name of the value to delete. If omitted, the entire SubKey will be deleted. To delete SubKey's default value -- which is the value displayed as "(Default)" by RegEdit -- use the phrase `AHK_DEFAULT` for this parameter.

### Examples

    RegDelete, HKEY_LOCAL_MACHINE, Software\SomeApplication, TestValue

## Error Handling

[v1.1.04+]: This command is able to throw an exception on failure. For more information, see Runtime Errors.

ErrorLevel is set to 1 if there was a problem or 0 otherwise.

A_LastError is set to the result of the operating system's GetLastError() function.

## Remarks

Warning: Deleting from the registry is potentially dangerous - please exercise caution!

To retrieve and operate upon multiple registry keys or values, consider using a registry-loop.

For details about how to access the registry of a remote computer, see the remarks in registry-loop.

To delete entries from the 64-bit sections of the registry in a 32-bit script or vice versa, use SetRegView.

## Related

RegRead, RegWrite, Registry-loop, SetRegView, IniDelete