Convertir HKEY en char*

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 - 21 déc. 2004 à 17:29
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 - 22 déc. 2004 à 21:52
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]

4 réponses

Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
21 déc. 2004 à 18:48
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!! :-))
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
22 déc. 2004 à 09:25
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)
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
22 déc. 2004 à 13:15
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]
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
22 déc. 2004 à 21:52
La source est dispo dans la rubrique systeme sous le titre:
GESTION COMPLETE DE LA BASE DE REGISTRE
[mailto:julienbj@hotmail.com Savon]
0
Rejoignez-nous