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

C Discussion :

Api d'utilisation de la base de registre


Sujet :

C

  1. #1
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut Api d'utilisation de la base de registre
    Bonjour,

    J'essaye d'utiliser la fonction "RegOpenKey" ou "RegOpenKeyEx" avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HKEY UnreadMailKey; 
    RegOpenKey(HKEY_CURRENT_USER,L"Software\\Microsoft\\Windows\\CurrentVersion\\UnreadMail",&UnreadMailKey)
    Mais bien que la fonction me retourne ERROR_SUCCESS comme valeur, quand je regarde en mode debug le contenu de UnreadMailKey; ca me met que les valeurs ne peux pas etre évalué...
    Je ne vois pas la solution....

    Si quelqu'un peut m'aider à résoudre ce probleme ca me sera d'un grand secours.

    Merci.
    Flo

  2. #2
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    Snif.... c'est Visual Studio 2005..Comment je fais dans ce cas ?

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Quand tu dis que le debugger ne t'affiche pas la valeur, cad ?

    Si ajoute un watch manuellement, et que tu le castes en long par exemple :

    (long) UnreadMailKey , ca donne quoi ?



    [EDIT] : Suppression de commentaires faisant référence à un post précédent supprimé depuis.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    c'est pas non plus urgent à hier t'inquiete. c'est juste un projet personnel.

    quand je te dis que ca n'affiche pas la valeur, ca veux dire que je développe la variable ca me met : "impossible d'évaluer l'expression".

    Sinon, y aurait il possibilité de me confirmer les étapes pour creer un projet en langage C avec VC2005. Ca vient peut etre de la....(sur pour etre sur).

    Merci

    Ps : sinon UnReadMailKey possède une valeur non nul (0xF9C) meme la valeur ne veux pas spécialement dire grand chose.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    C'est normal, pour un handle il n'y a rien à évaluer.
    Tu dois utiliser RegQueryValueEx() pour lire une valeur de la clé.

    ..Et n'utilise pas RegOpenKey(). Cette fonction est obsolète et présente un risque, tu dois utiliser RegOpenKeyEx() à la place.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Et le plus important c'est qu'il faut (enfin ...) spécifier KEY_ALL_ACCESS (c'est ça je crois) dans l'argument droits d'accès (samDesired) pour avoir tous les droits sur la clé, sinon il y aura des choses qu'on ne pourra pas faire ...

    Une fois qu'on a obtenu un handle d'une clé on utilise RegQueryValueEx ou RegSetValueEx pour lire ou écrire une valeur.

  7. #7
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    Merci de tous vos conseils. Il s'est avéré néanmoins que le problème de mon programme venait d'une autre part de celui ci dsl de vous avoir déranger.

    Juste une question pour ma culture generale :
    Quel est la difference entre :
    et
    (il s'est averer que ca venait de là mon problème...

    Merci

  8. #8
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    L"xxxxxx" signifie que la chaine "xxxxxxx" est une chaine de caractères larges (whar_t au lieu de char)
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Et quand on programme en Win32, généralement on n'utilise ni "abc" ni L"abc", mais TEXT("abc") (ou _T("abc") si on a inclut <tchar.h>).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par défaut
    Ok, je comprend. Merci de vos explications..

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

Discussions similaires

  1. [Inno Setup] Utiliser/modifier la base de registres
    Par ririrourou dans le forum Outils
    Réponses: 9
    Dernier message: 06/04/2009, 10h17
  2. Pourquoi utiliser la base de registre ?
    Par Faiche dans le forum Windows
    Réponses: 4
    Dernier message: 18/10/2007, 22h22
  3. [WD9] Utiliser la base de registre windows
    Par shensi dans le forum WinDev
    Réponses: 4
    Dernier message: 24/08/2007, 13h34
  4. Réponses: 10
    Dernier message: 02/11/2006, 20h52
  5. Réponses: 2
    Dernier message: 15/03/2006, 10h13

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