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

Windows Discussion :

Probléme RegOpenKeyEx & RegEnumKeyEx


Sujet :

Windows

  1. #1
    Invité
    Invité(e)
    Par défaut Probléme RegOpenKeyEx & RegEnumKeyEx
    Bonjour à tous,

    Comme l'indique le titre, j'ai un problème avec ces deux fonctions.

    Voici mon code en C++ sous Visual Studio 2010 express :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #define ruche HKEY_LOCAL_MACHINE
    #define sscle "SYSTEM\\CurrentControlSet\\Control\\SafeBoot\\Minimal"
    
    	HKEY resulat;
    	int index=0;
    	char nom[256];
    	DWORD t = 256;
    	if(RegOpenKeyEx(ruche,sscle,0, KEY_ENUMERATE_SUB_KEYS,&resulat)==ERROR_SUCCESS)
    	{
    		printf("\n\nOpen\n");
    
    		while(RegEnumKeyEx(resulat,index,nom,&t,NULL,NULL,NULL,NULL)==ERROR_SUCCESS)
    		{
    			printf("%d : %s\n",index,nom);
    			index++;
    		}
    
    	}
    Ce code ne m'affiche qu'une ligne, pour index=0. Or la clé indiqué contient bien plus de sous clés.

    Je suis sous Windows 7 64bits.

    En espérant que vous pourrez m'aider.

    Simon.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bon j'ai trouvé ^^

    Il faut mettre ceci comme condition du while :

    RegEnumKey(resulat,index,nom,t)==ERROR_SUCCESS
    Autant vous dire que je ne sais absolument pas pourquoi ça marche avec RegEnumKey et pas avec RegEnumKeyEx


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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    RegEnumKeyEx() modifie &t, donc si la seconde sous-clé possède un nom plus long que la première, la fonction retournera ERROR_MORE_DATA...
    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.

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

Discussions similaires

  1. Problème d'utilisation de RegOpenKeyEx
    Par Drooxy dans le forum VB.NET
    Réponses: 7
    Dernier message: 01/12/2008, 18h58
  2. [XHTML] Problème de variable &
    Par navis84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/08/2008, 10h55
  3. Problème de signe &
    Par new_wave dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2008, 18h18
  4. Problème de lecture registre avec RegEnumKeyEx
    Par mdriesbach dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/10/2005, 12h27

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