Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias _ "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As LongPrivate Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _ (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _ ByVal samDesired As Long, phkResult As Long) As LongPrivate Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As _ LongConst KEY_WRITE = &H20006 '((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or ' KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))' Delete a registry value'' Return True if successful, False if the value hasn't been foundFunction DeleteRegistryValue(ByVal hKey As Long, ByVal KeyName As String, _ ByVal ValueName As String) As Boolean Dim handle As Long ' Open the key, exit if not found If RegOpenKeyEx(hKey, KeyName, 0, KEY_WRITE, handle) Then Exit Function ' Delete the value (returns 0 if success) DeleteRegistryValue = (RegDeleteValue(handle, ValueName) = 0) ' Close the handle RegCloseKey handleEnd Function