Cle Registre

browser64 Messages postés 112 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 5 décembre 2010 - 26 juin 2006 à 08:24
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 26 juin 2006 à 08:36
salut,


Voila je n'arrive pas a effacer une clé de registre voir code ci-dessous, je ne trouve pas l'erreur dans mon code, ou est-elle ??? Ou est le blème ??

                                                    *****MERCI*****

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Const HKEY_LOCAL_MACHINE = &H80000002
Function efface(hKey As Long, strPath As String, strValue As String, strdata As String)
   Dim keyhand As Long
   Dim r As Long
   Call RegDeleteValue(hKey, strPath, keyhand)
   Call RegCloseKey(keyhand)
   End Function
Private Sub Form_Load()
Call efface(HKEY_LOCAL_MACHINE, "Software\InterfaceEprom")
End Sub

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 juin 2006 à 08:36
Bah déjà, il te manque des paramètres pour l'appel à efface : elle en prend 4 et non 2.

En plus de cà, RegDeleteValue n'efface pas la clé, mais la valeur de la clé, c'est bien différent ! Pour supprimer la clé, il faut utilise la fonction RegDeleteKey

Enfin, le handle que tu dois passer aux fonctions d'accès au registre n'est pas simplement les tags des racines (HKEY_LOCAL_MACHINE par exemple), mais les handles renvoyés par l'ouverture de la clé en question avec un appel à RegOpenKeyEx par exemple.

Donc ta fonction ne risque vraiment pas fonctionner !

Regarde dans les sources du site, il en existe pleins sur le registre.
0
Rejoignez-nous