Taron31
Messages postés199Date d'inscriptionvendredi 16 avril 2004StatutMembreDernière intervention28 février 2008
-
26 mars 2007 à 19:40
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 mars 2007 à 20:26
Bonjour, dans un programme je dois énumérer toutes les clefs de HKEY_CURRENT_USER, j'ouvre donc cette clef, je récupère le nombre de subkeys (RegQueryInfoEx), ensuite j'énumère toutes les subkeys avec RegEnumKeyEx, dans mon HKEY_CURRENT_USER, il y'a 15 subkeys, la fonction RegEnumKeyEx devrait donc me les énumérer toutes, le problème étant qu'elle me renvoie un erreur de code 234 (ERROR_MORE_DATA) ce qui veut dire que le buffer recevant le nom de la clef est trop petit, pourtant j'ai beau l'agrandir, j'ai toujours la même erreur... si vous avez deja rencontré le meme pb...
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 mars 2007 à 20:26
Un exemple de "goto" judicieux au lieu d'accolades à rallonges:
if(RegQueryInfoKeyA(hKey, ...)) goto keyCLOSE;
.....
.....
keyCLOSE:
RegCloseKey(hKey);
éviterait d'oublier de fermer le handle de clé et aussi de mettre plusieurs appels RegCloseKey.