Comment supprimer une clé de registre

lasmarco Messages postés 5 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 2 février 2009 - 10 févr. 2006 à 11:58
lasmarco Messages postés 5 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 2 février 2009 - 16 févr. 2006 à 10:36
Depuis 2 jours, je suis à la recherche d'une fonction qui permet de
supprimer une clé de registre. J'ai vu qu'il existait une fonction
RegDeleteKey, mais sans grand succès! Alors soit je m'y prend mal, soit
il me manque quelque chose!



Voila mon bout de code:



Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String) As Long

----------------------------------------------------------------------------------------------------------------------------------

RegDeleteKey HKEY_LOCAL_MACHINE, "SOFTWARE\\toto"



merci d'avance,

5 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
10 févr. 2006 à 12:41
Salut,

Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_DYN_DATA = &H80000006
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_PERFORMANCE_DATA = &H80000004
Const HKEY_USERS = &H80000003


Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

appel:
RegDeleteKey HKEY_LOCAL_MACHINE, "Software\tacle"

Voila



<HR width="100%" SIZE=2>
Si la réponse te conviens merci de l'accepter
0
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
10 févr. 2006 à 13:17
Codes identiques (au doubles "" près)
0
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
10 févr. 2006 à 13:28
Dsl, j'ai pas fini mon commentaire...
Je voulais dire, le double "\" c'est parce que tu as repompé un code C, non?

Ton pb peut également venir du fait que cette API ne fonctionne pas sur WinNT et Win2K si toto contient des sous-clés. Regarde peut-être du côté de SHDeleteKey, qui efface récursivement toutes les sous-clés. La déclaration doit être (pas testée) :

Const HKEY_LOCAL_MACHINE = &H80000002

Private Declare Function SHDeleteKey Lib "shlwapi.dll" Alias "SHDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

appel:
SHDeleteKey HKEY_LOCAL_MACHINE,"\toto<WBR>" & Chr(0))
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
10 févr. 2006 à 14:11
Exact si tu as des sous-clés à l'intérieur utilise SHDeleteKey comme l'exemple d'Egyde
Plus d'info http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regdeletekey.asp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lasmarco Messages postés 5 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 2 février 2009
16 févr. 2006 à 10:36
Merci de m'avoir répondu si rapidement, et bon courage pour la suite
0
Rejoignez-nous