[C] Lire plusieurs entrées de la base de registre

therealmancool Messages postés 4 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 21 avril 2009 - 21 avril 2009 à 17:18
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 21 avril 2009 à 18:05
Bonjour tout le monde!


Je voudrais lire plusieurs entrées de la base de registre.
J'arrive à ouvrir la clé où se trouve les entrées via cette fonction:
RegOpenKeyEx (HKEY_LOCAL_MACHINE, TEXT(
"SYSTEM\\CurrentControlSet\\Services\\Disk\\Enum"), 0, KEY_READ, &hKeyDisks);

Dans cette clé se trouve plusieurs entrées qui sont numérotées (0,1,2,3,...)
Je voudrais récupérer la valeur de ces entrées. Pour se faire, j'utilise ce code:
sprintf_s (gDiskName, sizeof
(DiskNumber)
,
"%u"
, DiskNumber);




Size =

sizeof




(gPath);




RegQueryValueEx ( hKeyDisks,gDiskName,0,0,(LPBYTE)gPath,&Size);

avec    DiskNumber de type int
            gDiskName de type char [32]
            gPath de type char [512]

En fait quand je remplace gDiskName par TEXT("1") je récupère bien dans gPath la valeur de l'entrée 1.
Ce que je n'arrive pas, c'est rendre cet argument variable.

Merci d'avance

1 réponse

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
21 avril 2009 à 18:05
Ca me parait pourtant bon !!!

As-tu tracé gDiskName ?

j'ai pas encore utilisé sprintf_s mais ca doit etre identique a
sprintf
0
Rejoignez-nous