begin process at 2012 05 30 16:13:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Base de données

 > 

Regedit


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

Regedit

mercredi 24 novembre 2004 à 23:14:41 | Regedit

elinep

Voila j'ai un probleme j'essaye de parcourir le regedit notemment a l'aide d'une fonction recursive a base de RegOpenKeyEx ();
Seulement j'ai un probleme, le programme s'enfonce un petit peu dans l'arborescence puis ne peut plus ouvrir de dossier (=subkeys).

Erreur : " Impossible de creer un fichier deja existant"

Ce qui est byzarre c'est que si j'ouvre ma base de registre et qu'a l'aide de la souris je la parcours et que je lance mon bout de code, alors il arrive a parcourir tout les endroits ou je me suis ballade.

Voala....MAis comment Est ce donc que C'est PossiBLe o_0 !

Merci d'avance ;)
mercredi 24 novembre 2004 à 23:26:24 | Re : Regedit

BruNews

Administrateur CodeS-SourceS
Faut pas faire de recursivite, il y a des fonctions d'enum dispos a cet effet.

ciao...
BruNews, MVP VC++
jeudi 25 novembre 2004 à 14:09:36 | Re : Regedit

elinep

Bah en fait j'utilise bien RegEnumKeyEx () et RegEnumValue (), mais si je veux parcourir toute l'arborescence je peux apsser apr une fonction recursive non?
Et pourquoi il faut aps utiliser la recursivite a cause de la pile qui explose?
jeudi 25 novembre 2004 à 14:26:08 | Re : Regedit

BruNews

Administrateur CodeS-SourceS
La gestion de la pile est toujours un risque quand on utilise la recursivite mais ce n'est pas la que l'erreur se produit dans ton cas, il semble bloquer avant.
Verifie que tu n'ouvres pas un handle de sous cle sur sur une cle parente deja ouverte.

ciao...
BruNews, MVP VC++
jeudi 25 novembre 2004 à 18:06:23 | Re : Regedit

DeAtHCrAsH

Si ton code détruit systématiquement tous les objets et les handles que tu ouvres, la récursivité ne pose aucun problème.

Maintenant comme BruNews te le fait remarquer, l'erreur provient surement de ton code.

Shell
vendredi 26 novembre 2004 à 00:22:04 | Re : Regedit

elinep

Mouai ce que je comprend pas c'est pourquoi lorsque que je parcours l'arborescence dans le regedit et que je lance mon programme il n'y a aucun probleme lors de l'ouverture.
Et que signifie cette erreur "Impossible de creer un fichier deja existant", j'essaye aps de crees un fichier puisque je fais RegOpenKeyEx().
vendredi 26 novembre 2004 à 00:47:22 | Re : Regedit

elinep

A oui autre chose si par exemple l'ouverture de l'adresse A et echoue et que dans le programme je le prevoie et que je mette RegOpenKeyEx (A) alors la l'ouverture fonctionne.

Genre:

Fonction Recursive ()
{
if (RegOpenKeyEx (adresse)!=ERROR_SUCCCES) //adresse est la variable contenant l'adresse suivante
RegOpenKeyEx (A);
....
}
La ca marche, evidemment ca plante quelques dossiers plus loin.
lundi 29 novembre 2004 à 16:19:03 | Re : Regedit

the_last_pharaon

Réponse acceptée !
j'ai le même problème que toi concernant la fonction de l'api RegOpenkeyEx!!!
Il n'y a donc pas de problème dans ton code, mais plutôt dans l'utilisation de cette fonction de "merde" RegOpenkeyEx, qui ne marche soudainement plus ?
Moi, je répertorie dans un arbre toutes les "keys", et en créant cet arbre, la fonction RegOpenkeyEx() plante, mais elle plante vraiment quand elle veut, elle marche correctement pour la plupart des clés mais pour certaines, elle plante sans aucune raison.
la solution que j'ai trouvée, c'est d'utiliser RegCreateKeyEx(), qui a deux modes de fonctionnement, soit elle crée la clé si elle n'existe pas, soit elle ouvre sans la changer (toi, c'est ce qu tu veux)...
j'suis déçu des admins...

lundi 29 novembre 2004 à 16:51:19 | Re : Regedit

BruNews

Administrateur CodeS-SourceS
the_last_pharaon > "j'suis déçu des admins" alors la vraiment c'est quoi le prob avec les admins ??? je ne vois pas.

ciao...
BruNews, MVP VC++
lundi 29 novembre 2004 à 21:29:53 | Re : Regedit

elinep

Ouai te vexe pas Brunews, je connais en personne the_last_pharaon , il aime bien titiller mais il a rien contre toi, en tout cas la soluce semble bien etre RegCreateKeyEx ()...
Byzare Byzare tout ca!


Cette discussion est classée dans : base, aide, probleme, regedit, parcourir


Répondre à ce message

Sujets en rapport avec ce message

URGENT Besoin d'aide base de données avec borland [ par cocanash ] Salut, je travaille actuellement sur un logiciel de gestion de codes barres ,en fait je stocke tout les codes barres dans une base de données de type Probleme API MySQL [ par flatou ] Salut a tousdepuis qq jours j'essaye de programmer une petite application qui permettrait de gerer une base de donnée MySQL avec l'api mysql et visual Besoin d'AIDE!!!!!! [ par philouike ] bonjour, je suis débutant et je souhaite commencer un site où on peut gagner des codes tels que prizpass en cliquant sur des bannières de publicité ma aide sur la gestion dune base de donné simple [ par grey012 ] notre prof nous a demandé, de faire un programme pour gérer une base de donnée en c++, mais il ne nous a montré que les prototypes des classes, commen aide sur BDD [ par juju14 ] bjrUn oetit coup de main s'il vous plait,g créé une base de données sous Access et je voudrais quand je rentre un mot de passe dans ma textBox (dans m fmod j'ai besoin d'aide [ par unionx ] --------------------------------------->------------------------------------------------salut tout le monde voila mo Probleme Base de donnée [ par atmeitsatme ] Bonjour a tous, j'ai créer une petite appli utilisant une base de donnée local. Tout marchaise bien, j'usqu'a ce que je tente de la déployé sur un pc Aide pr virus [Once Again] [ par DeViL_StRiKeR ] Salut a tous,Je ne sais pas pourquoi, mais je ne retrouve plus mon sujet "Aide pour virus" dans le forum que j'avais posté!Meme le lien dans ma boite probleme d'iportation de base [ par simonlourson ] bonjour, j'utilise visual C++ 2005 express edition, et mon probleme est le suivant:     j'ai télechargé la plupart des librairies de base (je crois)


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 : 1,420 sec (4)

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