begin process at 2012 05 29 08:16:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

Erreur avec RegOpenKeyEx


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur avec RegOpenKeyEx

samedi 25 février 2006 à 11:03:34 | Erreur avec RegOpenKeyEx

CrazySeb

Bonjour,

j' ai un problème avec le code suivant:


    HKEY  hKeyRes;
    DWORD dwLen;
    LPBYTE dwKeyEn;

        if( RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Internet Account Manager\\Accounts\\00000001\\",
                         0, KEY_QUERY_VALUE,
                         &hKeyRes) == ERROR_SUCCESS )
          {
             
             /*
            RegQueryValueEx(hKey, "SMTP Email Address", NULL, NULL, NULL, &dwLen);

            //On alloue la taille nécéssaire pour éviter les dépassement de caaciter qui risqueraient décrassé d'aure varaible de la mémoire
            dwKeyEn = new BYTE[dwLen];

            //Maintenant on lit la valeur de la clé en spécifiant la taille du buffer
            RegQueryValueEx(hKey, "SMTP Email Address", NULL, NULL, dwKeyEn, &dwLen);
 
            szRes = (char*)dwKeyEn; //on retourne le résultat a l'aide d'un CAST
            */
         }

Apres compilation, le programme plante sur le test if( RegOpenKeyEx ). J'obtiens une jolie erreur windows! Pas moyen de faire fonctionner ce bout de code!

Pouvez vous m'aider.. Merci
samedi 25 février 2006 à 14:57:31 | Re : Erreur avec RegOpenKeyEx

spiky31

Membre Club
Lis bien la doc msdn car il y a beaucoup d'erreurs ...

pour commencer :
Chaque sousclé doit etre ouverte avec un RegOpenKeyEx
err = RegOpenKeyEx(HKEY_CURRENT_USER,"Software",0,KEY_ENUMERATE_SUB_KEYS,&hKeyBase);
if (err != ERROR_SUCCESS)
  // erreur

err = RegOpenKeyEx(hKeyBase,"Microsoft",0,KEY_ENUMERATE_SUB_KEYS,&hKeyMic);
if (err != ERROR_SUCCESS)
  // erreur

...
et le dernier :
err = RegOpenKeyEx(hKey001,"0",0,KEY_QUERY_VALUE,&hKey0);
if (err != ERROR_SUCCESS)
  // erreur


ensuite :
int size = sizeof(DWORD);
RegQueryValueEx(hKey0, "SMTP Email Address",0,&type,&dwKeyEn,&size);
type sera egal a REG_DWORD normalement

voila
dis moi si je me suis tromper
a+
samedi 25 février 2006 à 15:12:05 | Re : Erreur avec RegOpenKeyEx

SAKingdom

Membre Club
Premièrement, tu n'a pas à ouvrir chaque sous-clées individuellement. Deuxièmement, je ne sais pas comment tu utilise hKey mais ce que je sais c'est que si tu veut utiliser la clée ouverte, il faut que tu utilise ton hKeyRes car c'est cette valeur qui contient les donnés voulu.



sous cléf
sous-clé
muscle
musclé
muscler
Modifier.
..

Rétablir « sousclé »
samedi 25 février 2006 à 15:15:11 | Re : Erreur avec RegOpenKeyEx

SAKingdom

Membre Club
Désolé pour le texte en bas (sous clef ect) c'est mon correcteur d'ortographe qui a planté.
samedi 25 février 2006 à 15:15:21 | Re : Erreur avec RegOpenKeyEx

AndreJAO

Sorry, ce n'est pas une démarche correcte
je crois qu'un petit bout de classe serait plus approprié pour aider notre ami. J'essaiede trouver le tps nécessaire.
Désolé de na pas pouvoir le faire inline 

AM6
samedi 25 février 2006 à 15:37:29 | Re : Erreur avec RegOpenKeyEx

SAKingdom

Membre Club
Pas besoin de classe supplémentaire. J'ai essayé avec mes corrections et ça fonctionne sans érreures.
samedi 25 février 2006 à 18:18:41 | Re : Erreur avec RegOpenKeyEx

spiky31

Membre Club
Puisque t'as l'air si malin pourquoi tu ne donnes pas tes corrections afin d'aider crazySeb, car je te r'apelle que c'est le but d'un forum d'entraide ...
samedi 25 février 2006 à 22:01:01 | Re : Erreur avec RegOpenKeyEx

SAKingdom

Membre Club
J'ai déjà donné mes correction plus haut:

HKEY  hKeyRes;
    DWORD dwLen;
    LPBYTE dwKeyEn;

        if( RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Internet Account Manager\\Accounts\\00000001\\",
                         0, KEY_QUERY_VALUE,
                         &hKeyRes) == ERROR_SUCCESS )
          {
            
            RegQueryValueEx(hKeyRes, "SMTP Email Address", NULL, NULL, NULL, &dwLen);

            //On alloue la taille nécéssaire pour éviter les dépassement de caaciter qui risqueraient décrassé d'aure varaible de la mémoire
            dwKeyEn = new BYTE[dwLen];

            //Maintenant on lit la valeur de la clé en spécifiant la taille du buffer
            RegQueryValueEx(hKeyRes, "SMTP Email Address", NULL, NULL, dwKeyEn, &dwLen);
 
            szRes = (char*)dwKeyEn; //on retourne le résultat a l'aide d'un CAST
         }
samedi 25 février 2006 à 22:11:10 | Re : Erreur avec RegOpenKeyEx

SAKingdom

Membre Club
Si cela est bien ce qu'il veut ça devrais fonctionner. Mais si ce qu'il veut c'est tester si une clé existe, alors la je n'en sait rien.
samedi 25 février 2006 à 22:31:33 | Re : Erreur avec RegOpenKeyEx

spiky31

Membre Club
j'ai testé ton code et il ne marche pas chez moi. RegOpenKeyEx renvoie une erreur ...

1 2

Cette discussion est classée dans : erreur, hkey, regopenkeyex, dwlen, dwkeyen


Répondre à ce message

Sujets en rapport avec ce message

erreur d'initialisation en C [ par jihedcom2011 ] Bonjour tous le monde , je suis un débutant en C. j'ai quelque erreurs lorsque j'ai compilé mon code qui est responsable de lire de registre Code : C librairie QWT [ par Adel85 ] Bonjour, J'ai installé la librairie qwt-5.2.1 sur fedora 12. Cependant, en voulant l'appeler depuis mon code C++, j'ai l'erreurs suivantes : essaiP difficulté a compiler un programme en C [ par KanzakiKire ] Bsr tt le monde, je n arrive pas à compiler un programme en C++ l erreur est : [linker error]undefined reference to 'cpu_features_init' extension .ncb [ par chiro2000 ] Bonjour je suis entrain de corriger quelques erreur sur un logiciel et j ai le problème suivant: Parmi les beugs qu'on m'a demande de corriger: lors d erreur segmantation fault?? [ par mezzoben ] Bonjour , je voudrais savoir ce que veux dire par cette erreur merci Erreur Emulateur <-> appareil [ par Soranne ] J'essaie depuis plusieurs jours de faire une application pour mon téléphone Windows CE Embedded 6.0 via le SDK fournit par le constructeur. Lorsque je RegSaveKeyEx [ par PriMe2302 ] Bonjour, Je voudrais sauvegarder un clé registre ainsi que toutes ses sous-clé. En faisant une recherche sur le site de msdn, j'ai fait ce code : i set<object> et VisualStudio [ par HSylvio ] Bonjour, j'essaie sans succès d'utiliser un std::set depuis quelques temps, et tombe sur un message d'erreur à la compilation... même lorsque j'essai Erreur dans un code à priori simple... je ne comprends pas l'erreur. [ par joshua91 ] Bonjour à tous, Il s'agit surement d'une erreur de gestion de pointeur sur les tableaux de Char... mais je ne vois pas. C'est à tous les coups une err besoin d'aide svp:0 erreur,pourtant il ne compile pas!! [ par mistersof ] #include #include void alloc_mat(int** mat,int nl,int nc) { int i; mat=(int**)malloc(nl*sizeof(int*)); for(i=0;i<=nl;i++) mat[i]=(int*)mal


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,446 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales