May ask about the code line to delete a Registry Key with all its subkeys?
i.e. HKEY_CURRENT_USER\SOFTWARE\DelThisKey
I tried:
Code: Select all
RegDeleteKey_(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Code: Select all
RegDeleteKey_(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Don't forget the underscore:
Code: Select all
SHDeleteKey_(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Code: Select all
EnableExplicit
If Not IsUserAnAdmin_()
MessageRequester("Message", "Run as administrator", #MB_SYSTEMMODAL)
End
EndIf
Procedure RegExistsKey(RootKey, SubKey$)
Protected hKey
If #ERROR_SUCCESS = RegOpenKeyEx_(RootKey, SubKey$, 0, #KEY_READ, @hKey)
RegCloseKey_(hKey)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Define NewKey
Define KeyInfo
Define Value$
Value$ = "%windir%\System32\notepad.exe"
If #ERROR_SUCCESS = RegCreateKeyEx_(#HKEY_CLASSES_ROOT, "*\shell\notepadxyz", 0, 0, #REG_OPTION_NON_VOLATILE, #KEY_ALL_ACCESS, 0, @NewKey, @KeyInfo)
If #ERROR_SUCCESS = RegSetValueEx_(NewKey, "", 0, #REG_SZ, Value$, StringByteLength(Value$, #PB_Unicode) + 2)
MessageRequester("", "Created", #MB_SYSTEMMODAL)
EndIf
RegCloseKey_(NewKey)
EndIf
Debug RegExistsKey(#HKEY_CLASSES_ROOT, "*\shell\notepadxyz")
If #ERROR_SUCCESS = RegDeleteKey_(#HKEY_CLASSES_ROOT, "*\shell\notepadxyz\")
MessageRequester("", "Deleted", #MB_SYSTEMMODAL)
EndIf
Debug RegExistsKey(#HKEY_CLASSES_ROOT, "*\shell\notepadxyz")