Comment supprimer une valeur dans la base de registre

hoas Messages postés 9 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 4 septembre 2007 - 23 févr. 2007 à 11:06
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 23 févr. 2007 à 17:46
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




J’arrive pas à supprimer une valeur de la base de registe:



 




Dans HKEY_CLASSE_ROOT\Word.document.8




Je voudrai supprimer la valeur BrowserFlags type REG_DWORD. Mais uniquement cette valeur car il y en a d’autres dans la clef.



 




Cormment faire ? avec RegDeleteValue ?

RegOpenKey HKEY_CLASSES_ROOT, "Word.Document.8", result
RegDeleteValue result, ByVal ""

Merci

6 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 févr. 2007 à 11:14
Bonjour,




Il me semble que tu trouveras tout ce dont tu as besoin là :
http://www.vbfrance.com/codes/TOUT-POUR-BASE-REGISTRE_133.aspx
0
hoas Messages postés 9 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 4 septembre 2007
23 févr. 2007 à 13:17
Merci,

Mais ça fonctionne pas j'ai une erreur "d'execution 424", dans l'exemple c'est le chemin:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

il supprime "des valeurs de chaine" type REG_SZ.
La valeur que je voudrai supprimer est un REG_DWORD qui s'appelle BrowserFlags.

A+
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 févr. 2007 à 13:40
Hmm...
Ne t'attends surtout pas à ce que je te serve un gateau tout prêt à être mangé (ce n'est définitivement pas mon style).

Tu as un problème et tu dois apprendre à pêcher un peu pour le résoudre...

Pour détruitre une valeur de clé de la base de registre, tu peux utiliser la fonction RegDeleteValue de la librairrie advapi32.dll de l'API de Windows.
Cette manoeuvre nécessite la "création virtuelle" de ta clé, avant toute autre opération .

Je t'invite donc à ouvrir AllApi, à rechercher la fonction RegDeleteValue, puis à ouvrir l'exemple qui va avec. Cet exemple s'appele on ne peut plus simplement "REGISTRY" et contient exactement ce dont tu as besoin. Je viens personnellement de le lire de A à Z et de conclure de ma lecture (attentive, comme il se doit) que tout était on ne poeut plus clair.

Bien entendu : pour extraire de ce code celui qui te fait défaut, il te faudra faire comme moi :  lire, analyser un peu et comprendre. C'est le prix à payer (comme pour tout) si tu ne veux pas (et je l'espère pour toi que tu n'es pas dans ce cas-là) te contenter de copier-coller sans même savoir ce que tu fais (chemin sur lequel je ne suivrai jamais personne, c'est certain).

Amitiés et bonne étude.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 févr. 2007 à 13:44
Ah oui, quand-même :

Quand, dans un exemploe, une clé est traitée : cette clé n'existe pas forcément sur ta machine, celà va de soi.

Ce ne sera jamais qu'un exemple et rien d'auitre et ce sera à toi d'adapter (ce que tu sauras toujours faire si tu sais de quoi tu parles).
0

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

Posez votre question
hoas Messages postés 9 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 4 septembre 2007
23 févr. 2007 à 15:22
Merci pour vos conseilles très avisés ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 févr. 2007 à 17:46
Il n'y a pas de quoi, hoas.

Un dernier mot toutefois.
Il n'est jamais anodin de toucher à la base de registre et il faut, si on le fait :

- être sûr de soi
- ne jamais toucher à plus d'une clef à la fois et tester que tout va bien avant d'en modifier une autre
- faire une sauvegarde de sa base de registre avant toute modification en vue d'une restauration éventuelle; notamment en cas de mauvaise manoeuvre.

C'est ce que font systématiquement même les plus aguerris aux manipulations de la base de registre et je te conseille vivement de prendre ces précautions.

Si tu ne possèdes pas d'outil ad-hoc pour faire une telle sauvegarde, tu peux au moins faire ceci :

1) ouvrir ta base de registre (frappe de Regedit dans la ligne de commande)
2) te positionner sur la rubrique Poste de travail (la toute première)
3) cliquer sur l'onglet registre et choisir "exporter un fichier du registre"
4) dans la boîte de dialogue ouverte :
- choisir un répertoire
- donner un nom de fichier facile à retenir, sans son extension : disons par exemple regtoto
puis enregistrer ===> un fichier regtoto.reg aura ainsi été créé dans le répertoire choisi

En cas de malheur : tu rétabliras ta base de registre telle qu'elle était avant ta modification en double-cliquant sur ce fichier depuis l'explorateur et en réponddant par oui au message que tu recevras.


 


Tu ne perdras certes ruien, bien au contraire, à consacrer un peu de temps à la lecture attentive de la totalité de ce que tu trouveras là :



http://www.toutwindows.com/registre.shtml



A lire JUSQU'AU BOUT.

Bonne chance


 
0
Rejoignez-nous