IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] CRegKey::QueryValue donne rien


Sujet :

MFC

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut [MFC] CRegKey::QueryValue donne rien
    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.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    que renvoi la méthode Open ? ERROR_SUCCESS ?
    montre ton code .

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    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);
        }
    }

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    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);
        }
    }

  5. #5
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Ok merci !
    Effectivement.

    On est obligé de passer par un char[], on peut pas utiliser un CString ?


  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    vu la signature pas le choix.
    LONG QueryValue( DWORD& dwValue, LPCTSTR lpszValueName );
    LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount )

  7. #7
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Merci bien!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Accès pointeur qui donne rien :s
    Par EagleEye dans le forum MFC
    Réponses: 3
    Dernier message: 02/03/2006, 18h32
  2. Réponses: 16
    Dernier message: 29/06/2005, 20h55
  3. [C#] Ma requete ne donne rien
    Par Le Basque dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/01/2005, 17h52
  4. [MFC]Recupération de donnée et conversion
    Par Guilhem dans le forum MFC
    Réponses: 8
    Dernier message: 16/06/2004, 10h36
  5. CComboBox::setCurSel ne donne rien
    Par jul54 dans le forum MFC
    Réponses: 5
    Dernier message: 11/02/2004, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo