Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The DeleteKey method deletes a subkey in the specified tree.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
Syntax
uint32 DeleteKey(
  [in] uint32 hDefKey = HKEY_LOCAL_MACHINE,
  [in] string sSubKeyName
);
Parameters
- 
hDefKey [in]
 - 
A registry tree, also known as a hive, that contains the sSubKeyName path. The default value is HKEY_LOCAL_MACHINE.
The following trees are defined in WinReg.h.
 - 
HKEY_CLASSES_ROOT (2147483648)
 - 
HKEY_CURRENT_USER (2147483649)
 - 
HKEY_LOCAL_MACHINE (2147483650)
 - 
HKEY_USERS (2147483651)
 - 
HKEY_CURRENT_CONFIG (2147483653)
 
sSubKeyName [in]
The key to be deleted.
Return value
In C++, the method returns a uint32 value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that is defined in WinError.h. In C++, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error. You can also look up return values under the WMI Error Constants.
In scripting or Visual Basic, the method returns an integer value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that you can look up in WbemErrorEnum.
Examples
The Delete a Registry Key VBScript code sample deletes a registry key.
The following VBScript code example shows how to use the DeleteKey method to delete the MySubKey subkey created in the CreateKey example.
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objReg=GetObject("winmgmts:"_
    & "{impersonationLevel=impersonate}!\\" &_ 
    strComputer & "\root\default:StdRegProv")
KeyPath = "Software\MyKey\MySubKey"
' Create new key
Return = objReg.CreateKey(HKEY_LOCAL_MACHINE, KeyPath)
If (Return = 0) And (Err.Number = 0) Then    
    Wscript.Echo "HKEY_LOCAL_MACHINE\Software\MyKey\MySubKey created"
Else
    Wscript.Echo "CreateKey failed. Error = " & Err.Number
End If
'Delete new key
Return = objReg.DeleteKey(HKEY_LOCAL_MACHINE, KeyPath)
If (Return = 0) And (Err.Number = 0) Then    
    Wscript.Echo _
        "HKEY_LOCAL_MACHINE\Software\MyKey\MySubKey" & _
        " successfully deleted"
Else
    Wscript.Echo "DeleteKey failed. Error = " & Err.Number
End If
Requirements
| Minimum supported client | 
Windows Vista | 
| Minimum supported server | 
Windows Server 2008 | 
| Namespace | 
Root\default | 
| MOF | 
  | 
| DLL | 
  |