Page 1 of 1
Delete Registry Key
Posted: Thu Apr 25, 2024 9:34 pm
by Maya
Hello Everyone,
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")
Re: Delete Registry Key
Posted: Thu Apr 25, 2024 9:55 pm
by AZJIO
Re: Delete Registry Key
Posted: Thu Apr 25, 2024 10:00 pm
by Maya
Thanks, but I don't want to use "Registry.pbi" or tons of codeines just to delete a regkey!
Re: Delete Registry Key
Posted: Thu Apr 25, 2024 10:10 pm
by Maya
I found it!
SHDeleteKey_(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Re: Delete Registry Key
Posted: Fri Apr 26, 2024 1:27 am
by BarryG
Maya wrote: Thu Apr 25, 2024 10:10 pmSHDeleteKey(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Don't forget the underscore:
Code: Select all
SHDeleteKey_(#HKEY_CURRENT_USER, "SOFTWARE\DelThisKey")
Re: Delete Registry Key
Posted: Fri Apr 26, 2024 2:08 am
by Maya
Amended, thanks.
Any codeine example about "RegCreateKeyEx_"?
Re: Delete Registry Key
Posted: Fri Apr 26, 2024 2:21 am
by AZJIO
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")