Lire dans registre

Signaler
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010
-
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010
-
Slt a tous. Voila mon probleme j'ai récupé sur ce site un module permettant de lire dans le registre. Cependant nayant pas les droit Administrateur j'obtient la valeur "5" dans:

 rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, HKey) ' Ouvre la clé de base de registres
   
    If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError             

ERROR_SUCCESS doit etre égal à 0. sinon je rempli ma variable par ""

Apparemment l'eereur 5 corespondrai o fait que je ne possede pas les droit administateur car le PC voit le risque de modifier la base de registre.
C'est tres important ,pouvez vous maider.

15 réponses

Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
c'est pas parce que celui qui a mis son code en ligne sur ce site ne gère pas le cas du manque de privilège (code 5) que toi tu peux pas le faire. un simple if devrait résoudre le problème.
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Merci vpoyo je veux bien te croire mais je ne vois pas comment gérer ca.
tu entend koi par un simple if!!!
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
ben un truc du style

if (cr = 5) then ' d'après ce que tu dis 5 est un problème de droit
   msgbox "Vous n'avez pas les droits requis. Contacter votre administrateur."
   exit sub ' ou function
End if

Si tu fais plusieurs opérations en base de registre et que l'une d'elle plante, assure toi de pouvoir revenir en arrière c'est à dire d'annuler les modication ou ajout fait avant
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
KEY_ALL_ACCESS pourquoi si juste pour lecture ??? il est clair qu'ainsi l'accès t'est refusé.

Essaie KEY_QUERY_VALUE.

ciao...
BruNews, MVP VC++
Messages postés
228
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
erreur 5 je la vois de partout  'access is denied' --> 'accès refusé'
apparement tu ne peux donc pas aller lire le registre avec les droits qui te sont donnés. Mais comment passer cela ? Demander des droits plus importants sur ton PC je vois que ça

Deluka.
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Oui javé pas vu ca comme ca!!!
Ce qui m'interesse c'est de lire les COM pour faire apres une détection autimatique. Donc ca minteresse de pouvoir avoir acces au registre. C'est une application qui sera apres transmise a dotre personne donc il fodré que ca marche dans lé 2 cas. Ya til moyen de détourner cette affaire
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Brunew en remplacant directement par KEY_QUERY_VALUE j'obtient rc=87.
Il doit tou de meme avoir moyen meme loger en "invité" de lire mes COM
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

EUH...lorsque j'ai mis KEY_QUERY_VALUE  jobtien"87". Maintenant j'ai remis KEY_ALL_ACCESS et j'obtien tjs "87" et non plus "5"!!! C pas bon là! Quelqu'un est tjs sur le cou???
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

OUBLIER LE MESSAGE PRECEDENT: ERREUR DE MA PART.
Pour recentrer la chose...J'ai besoin de lire mes COM dans la base de registre mais nayant pas les droit administrateur, la reponse =5 au lieu de 0.
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
heeeeeeeeeuuu tu as pensé à un fichier de config plutot que cette maudite base de registre :)
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Je me renseigne depuis au moins 1mois et je trouve rien de bon. j'ai du laisser 2 topic sur la détection automatique du port USB mais personne ne répondait. Apres j'ai trouvé cette source me permettant de lire dans le registre. Jme di que une fois que je pouré lire jariverai a interpréter. Tu me parle de fichier de config je ne me suis pa penché. C simple?
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
ben ca revient juste a lire et a écrire dans un fichier.

perso j'utilise généralement un fichier xml pour la config, avec un parser tu peux aisément récupérer,modifier, rajouter des paramètres.
autre truc c'est qu'un fichier je suis sûr de pourvoir l'ouvrir même sur le prochain windows ^^ par contre est ce que tu sais si la base de registre sera maintenus sur vista ?
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

C'est une bonne question, je ne suis pas sur de la compatibilité. C' est pourquoi je pense que ton idée est bonne. Tu aurrai un exemple de fihier pour maider ou mexpliké le code. J'en profite de tavoir pour te demandé de l'aide la dessus sinon jme lance encore dans des recherches et mon logiciel doit etre rapidement fini.MERCI
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
ben le fichier de config c'est un fichier text contenant du xml, un truc du style
Configuration: 
      c:\test

      <connectionstring>blablabla</connectionstring>


bref tu peux faire un peux tout ce que tu veux, balises et sous balises, attributs

ensuite il suffit de parser ce fichier, pour ca tu as la librairie msxml. le parser s'appelle DOM (algo inspiré des arbres) tu trouveras énormément de doc sur le net, si tu es en vb.net le xml est déjà dans les api dotnet. hélas le code je l'ai ni en tête ni sur cette machine. mais c'est pas si compliquer et il y a déjà pleins de truc tout fais sur le net.

si tu bloques sur une partie crée un nouveau topic et laisse moi un message privé avec l'adresse du topic pour que j'ai une alerte mail j'essaierais de t'aider au maximum, et beaucoup d'autre personne pourront t'aider

PS : je pense que ca serait quand même bien de résoudre ton problème car si tu dois reprendre un jour une appli qui se base sur la base de registre ces connaissances te seront fort utile
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
1 mars 2010

Je te remercie beaucoup je vai essayer de chercher.