Lire dans registre

toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010 - 24 mai 2006 à 12:59
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010 - 24 mai 2006 à 15:39
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

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 13:09
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.
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 13:12
Merci vpoyo je veux bien te croire mais je ne vois pas comment gérer ca.
tu entend koi par un simple if!!!
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 13:19
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 mai 2006 à 13:31
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++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
24 mai 2006 à 13:42
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.
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 13:47
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
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 13:51
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
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 14:30
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???
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 14:33
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.
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 14:34
heeeeeeeeeuuu tu as pensé à un fichier de config plutot que cette maudite base de registre :)
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 14:48
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?
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 15:14
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 ?
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 15:18
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
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 15:31
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
0
toosdu87 Messages postés 100 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 1 mars 2010
24 mai 2006 à 15:39
Je te remercie beaucoup je vai essayer de chercher.
0
Rejoignez-nous