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

Signaler
Messages postés
4
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2009
-
Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
-
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

Messages postés
1115
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
6 mai 2021
4
Ca me parait pourtant bon !!!

As-tu tracé gDiskName ?

j'ai pas encore utilisé sprintf_s mais ca doit etre identique a
sprintf