Page 1 sur 2
Effacer une clef du registre
Publié : mar. 04/janv./2005 20:05
par Oliv
J'ai touvé sur CodeArchiv un exemple pour ajouter une clef registre mais pour l'effacer ça ne marche pas

et je ne comprends pas pourquoi.
savez vous comment faire ?
Publié : mar. 04/janv./2005 22:58
par Le Soldat Inconnu
regarde ici :
http://purebasic.hmt-forum.com/viewtopic.php?t=1024
regarde dans la procedure Demarrage() au "Case #Supprimer"
Publié : mar. 04/janv./2005 23:07
par Oliv
Merci je vais regarder demain

Publié : mer. 05/janv./2005 17:59
par Anonyme2
J'avais mis aussi un code dispo pour gérer les adresses internet de IE
Le code source est
ici
Il y a une procedure qui s'appelle
EffaceUrl_Du_Registre(type_cle, sous_cle$)
qui permet entre autre d'effacer une clé du registre
Publié : mer. 05/janv./2005 18:49
par julien
Moi j'utilise la lib RegINI car elle possede plusieurs fonction pour le registre (lire, lister, détruire, créer) sur purearea.net
Publié : mer. 05/janv./2005 19:33
par Anonyme2
Toujours Ho toujours faire une sauvegarde du registre si on est pas sur du code

car après ça craint un max si on a effacé des mauvaises clées.

Publié : lun. 14/févr./2005 12:38
par Oliv
ça y est j'ai enfin réussi : JBernard tu vois que l'on peut mettre du temps

Merci Denis
Publié : lun. 14/févr./2005 13:01
par Oliv
En fait non
Je ne comprends pas :
L'adresse de ma clef
Code : Tout sélectionner
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Usb Autorun.exe
et mon code
Code : Tout sélectionner
hKey.l
If RegOpenKeyEx_(#HKEY_LOCAL_MACHINE,"Software\Microsoft\Windows\CurrentVersion\Run",0,#KEY_SET_VALUE,@hKey) = #ERROR_SUCCESS
Resultat = RegDeleteKey_(hKey,"Usb Autorun.exe")
Debug Resultat
RegCloseKey_(hKey)
SetMenuItemState(0,#Demarrage,0)
EndIf
Avez vous une idée ? Résultat devrait être à 0
Publié : lun. 14/févr./2005 18:29
par hardy
un KEY_ALL_ACCESS serait plus convenable...
Publié : lun. 14/févr./2005 18:36
par Oliv
Pourquoi ? Puisque dans le MSDN il est indiqué que pour effacer une clef Key_Set_Value est suffisant ?
Sinon je vais essayer

Publié : lun. 14/févr./2005 19:11
par Anonyme2
regarde d'abord l'erreur retournée par RegOpenKeyEx, tu auras ensuite la solution.
Si tu énumères les clées, tu ne peux pas les effacer dans ce mode.
Publié : lun. 14/févr./2005 19:29
par Oliv
RegOpenKeyEx ne rapporte pas d'erreur

Publié : lun. 14/févr./2005 19:34
par Anonyme2
Alors ça marche
et t'as testé le retour de RegDeleteKey ?
Publié : lun. 14/févr./2005 20:04
par Oliv
Erreur 2 : Fichier inconnu

Publié : lun. 14/févr./2005 21:49
par Le Soldat Inconnu
Pour une clé, c'est comme ça
Code : Tout sélectionner
If RegDeleteKey_(#HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\Comdlg32\PlacesBar") = 0
Debug "OK"
EndIf
pour une valeur, il faut utiliser RegDeleteValue_ dans ce que tu fais à la place de RegDeleteKey_ et avec un #KEY_ALL_ACCESS comme le dis Hardy