Bonjour
j'aimerais avoir un exemple de lecture de valeur chaine dans la base de registre.
Je n'arrive pas à récupérer une valeur en faisant CRegKey::QueryValue(etc.)
Merci d'avance.
Bonjour
j'aimerais avoir un exemple de lecture de valeur chaine dans la base de registre.
Je n'arrive pas à récupérer une valeur en faisant CRegKey::QueryValue(etc.)
Merci d'avance.
salut,
que renvoi la méthode Open ? ERROR_SUCCESS ?
montre ton code .
Salut,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CRegKey m_key; if(m_key.open(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters")==ERROR_SUCCESS) { char valeur[60]=""; DWORD taille=strlen(valeur); if(m_key.QueryValue(valeur,"Domain",&taille)==ERROR_SUCCESS) { // plante à QueryValue MessageBox(valeur); } }
normal ,tu confonds taille de la variable et longueur du contenu...
la fonction a besoin de savoir la longueur du répertoire de destination.
strlen renvoie 0 dans ton cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CRegKey m_key; if(m_key.open(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters")==ERROR_SUCCESS) { char valeur[60]; DWORD taille=sizeof(valeur); if(m_key.QueryValue(valeur,"Domain",&taille)==ERROR_SUCCESS) { // plante à QueryValue MessageBox(valeur); } }
Ok merci !
Effectivement.
On est obligé de passer par un char[], on peut pas utiliser un CString ?
![]()
vu la signature pas le choix.
LONG QueryValue( DWORD& dwValue, LPCTSTR lpszValueName );
LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount )
Merci bien!![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager