Convertir HKEY en char*

Signaler
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
Bonjour, je cherhce à convertir le type HKEY en char*
Je travaille sur une librairie pour utiliser la base de registre, et je souhaiterais pouvoir sauvegarder des clefs de cette base de registre!
J'ai déja une fonction qui sauve la clef quand je lui donne en paramètre la clef hote(HKEY_LOCAL_MACHINE par exemple) puis le chemin d'accèes de la clef que je veux sauvegarder dans cette clef hote, et enfin le chemin d'accèes au fichier reg dans lequel je veux suvegarder la clef!
Rien ne valant un exemple, je vous écris le prototype de la fonction.
BOOL BDRSaveKey1(HKEY origine, char *namekey, char *location);

Maintenant, je souhaite pouvoir faire une fonction dont le prototype est le suivant:
BOOL BDRSaveKey2(HKEY key, char *location);
Dans cette fonction key serait la valeur retourné plus tôt dans la programme par un appel à RegOpenKey(Ex) ou RegCreateKey(Ex)
Mais pour sauvegardere cette clef à la norme des fichiers .reg, je dois pouvoir retrouver le chemin d'acces de ma clef.
Il faut donc que je convertisse key en un char*.
J'ai essayé avec RegQueryInfoKey, mais ça ne marche pas et je ne suis pas sur que ce soit ce qu'il me faille.
Si vous avez une idée...
Merci d'avance.
Julien
[mailto:julienbj@hotmail.com Savon]
A voir également:

4 réponses

Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Euh...si j'ai bien compris, tu veux pouvroir sauvegarder le registre ? dans un fichier ? si oui, je ne vois pas pourquoi il est important de transformer un HKEY en char* :) ...utilise donc ça :

DWORD dwWrited;

WriteFile(hFile, (char*) hKey, sizeof(hKey), &dwWrited, 0);


syntaxe sur msdn : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/writefile.asp

J'espère que cela t'aidera! si je me suis trompé ou si j'ai dit un truc bete, excuse moi s'en stp! :-) bonne soirée!

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
WriteFile(hFile, (char*) hKey, sizeof(hKey), &dwWrited, 0);

=> cela va écrire dans le fichier les 4 octets (taille d'un handle) situés à l'adresse mémoire pointée par hKey qui, étant un handle peut être une adresse valide ou simplemment un nombre quelconque ayant une signification uniquement pour le système.

Je ne suis pas sûr que l'on puisse récupérer le chemin de la clé à partir d'un HKEY (ainsi que le path à partir du HANDLE d'un fichier)
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
Merci bien, j'ai pas nonplus trouver de moyen de récupérer le chemin de la clef avec le path, mais j'ai réussi à passer outre dans mon prog!
Merci pour vos réponses 8-)
[mailto:julienbj@hotmail.com Savon]
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
La source est dispo dans la rubrique systeme sous le titre:
GESTION COMPLETE DE LA BASE DE REGISTRE
[mailto:julienbj@hotmail.com Savon]