Tipp 6.1 - Registry-Schlüssel entfernen

Wie kann ich einen Registry-Schlüssel entfernen?

Mit dieser Funktion können Sie einen Registry-Schlüssel entfernen. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Api-AufrufeVerwendete Win32-Api-Aufrufe und Typen: RegDeleteKey - REG_KEYS

Beispiel:

Option Explicit
 
Public Enum REG_KEYS
  HKEY_CLASSES_ROOT = &H80000000
  HKEY_CURRENT_USER = &H80000001
  HKEY_LOCAL_MACHINE = &H80000002
  HKEY_USERS = &H80000003
  HKEY_PERFORMANCE_DATA = &H80000004
  HKEY_CURRENT_CONFIG = &H80000005
  HKEY_DYN_DATA = &H80000006
End Enum
 
Public Const ERROR_SUCCESS As Long = 0&
 
Public Declare Function RegDeleteKey _
    Lib "advapi32.dll" Alias _
    "RegDeleteKeyA" _
    (ByVal hKey As Long, _
    ByVal lpSubKey As String) As Long
 
Public Function DeleteKey(ByVal lKey As REG_KEYS, _
                          ByVal sPath As String) _
                          As Boolean
  '// -----------------------------------------------------
  '// Methode:   | Entfernt einen Registry-Schlüssel
  '// -----------------------------------------------------
  '// Parameter: | lKey - Übergeordneter Schlüssel
  '//            | sPath - Pfad des Schlüssels
  '// -----------------------------------------------------
  '// Rückgabe:  | True bei Erfolg
  '// -----------------------------------------------------
  '// Autor:     | Stefan Kulpa
  '//            | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispiel:  |?DeleteKey(HKEY_LOCAL_MACHINE, _
  '//            |          "SOFTWARE" & _
  '//            |           App.CompanyName & "\" & _
  '//            |           App.EXEName)
  '// -----------------------------------------------------
  Dim lRegResult As Long
  lRegResult = RegDeleteKey(lKey, sPath)
  DeleteKey = CBool(lRegResult = ERROR_SUCCESS)
 
End Function