Gestion du registre [Résolu]

Messages postés
420
Date d'inscription
mercredi 4 août 2010
Dernière intervention
13 décembre 2018
- - Dernière réponse : Herve_be
Messages postés
420
Date d'inscription
mercredi 4 août 2010
Dernière intervention
13 décembre 2018
- 23 nov. 2018 à 10:25
Bonjour,
Voici le code que j'utilise pour écrire une valeur dans le registre
Dim OpenKey As Long, SetValue As Long, hKey As Long
RegKeyRoot = &H80000000 ' HKEY_CLASSES_ROOT
RegKeyName = "SOFTWARE\RVReefTools"

OpenKey = RegOpenKeyEx(RegKeyRoot, RegKeyName, 0, KEY_ALL_ACCESS, hKey)
SetValue = RegSetValueEx(hKey, KeyValueName, 0&, KeyDataType, ByVal CStr(KeyValueDate & Chr$(0)), Len(KeyValueDate))
If SetValue <> 0 Then MsgBox ("RegSetValueEx error " & Str$(SetValue))
SetValue = RegCloseKey(hKey)

Ce qui est très bizarre c'est que ça fonctionne très bien avec l'éditeur VB6
mais une fois compilé RegSetValueEx donne une erreur 6 (Invalid Handle) !

Pourquoi cette différence et surtout comment corriger ?
Merci d'avance
Afficher la suite 

Votre réponse

3 réponses

Messages postés
420
Date d'inscription
mercredi 4 août 2010
Dernière intervention
13 décembre 2018
0
Merci
J'ai trouvé une partie de la solution : il semble que VB6 IDE ait accès à HKEY_CLASSES_ROOT mais pas la version compilée, pourquoi ?
Alors j'ai essayé avec HKEY_LOCAL_MACHINE : ça fonctionne mais

avec VB6 IDE il le met dans
HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\RVReefTools

avec VB6 compilé il le met dans
HKEY_USERS\S-1-5-21-2581077279-292536661-1282839472-1001\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\RVReefTools

N'y a-t-il pas moyen de toujours mettre la clé à l'endroit que j'ai choisi ?
Commenter la réponse de Herve_be
Messages postés
5603
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
13 décembre 2018
0
Merci
Bonjour,

J'ai été confronté à ce problème pour ce programme:

https://codes-sources.commentcamarche.net/source/102722-supprimer-les-fleches-des-icones-du-bureau

j'ai trouvé la solution ici:

https://openclassrooms.com/forum/sujet/creer-une-cle-registre-dans-hkey-local-machine?page=1

C'est du VB.Net, tu pourras peut-être l'adapter en VB6!

Commenter la réponse de cs_Le Pivert
Messages postés
420
Date d'inscription
mercredi 4 août 2010
Dernière intervention
13 décembre 2018
0
Merci
Bonjour,
Je n'ai toujours pas compris la différence entre IDE et version compilée mais entretemps j'ai trouvé la solution : il suffit de mettre la clé dans HKEY_CURRENT_USER et elle y reste que ce soit IDE ou compilé, problème résolu.
Commenter la réponse de Herve_be

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.