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

C# Discussion :

écrire sur la base de registre


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut écrire sur la base de registre
    bonjour,

    j'ai une fenetre d'authentification qui lors de la validation de saisie, enregistre le mot de passe sur la base de registre (regedit.exe).

    voici le code
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     //Fonction qui écrit le mot de passe dans la base de registre windows
             private void WriteValue()
             {
                 string MotDePasse = "" ;
     
                 RegistryKey Nkey = Registry.CurrentUser;
     
                 try
                 {
                     RegistryKey valKey =
                     Nkey.OpenSubKey("Software\\enregistrement\\MyKey", true);
     
                     if(valKey == null)
                     {
                         Nkey.CreateSubKey("Software\\enregistrement\\MyKey");
                     }
     
                     valKey.SetValue("MyKeyValue", MotDePasse);
                 }
     
                 catch(Exception er)
                 {
                     MessageBox.Show(er.Message, "enregistrement", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                 }
                 finally
                 {
                     Nkey.Close();
                 }
     
             }
    Lorsque je vais sur ma base de registre pour vérifier si c'est bien écrit

    je trouve dans HKEY_CURRENT_USER/Software/enregistrement/MyKey/ :
    MyKeyValue

    jusqu'ici tout va bien, mais par contre dans données il n'y a rien, alors que je pensais y trouver le code.

    je pense avoir un problème avec sPassword, mais je ne sais pas vraiment lequel

    merci d'avance si quelqu'un peu m'aider à ce sujet.
    C'est la 1ère fois que j'utilise la base de registre

  2. #2
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut.
    Citation Envoyé par ismababa Voir le message
    jusqu'ici tout va bien, mais par contre dans données il n'y a rien, alors que je pensais y trouver le code.
    Dans le code que tu montres ici, MotDePasse ne reçoit jamais aucune valeur et donc vaut "" au moment de l'enregistrement dans la base de registre.

    Par contre, tu parles de sPassword : de quoi s'agit-il ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    salut eusebe

    merci de m'avoir répondu
    d'abord oups me suis tropé sPassword a été remplacé par MotDePasse justement
    désolé. sPassword c'était avant

    MotDePasse ne prend pas de valeur "", comment dois-je le faire pour que je puisse le voir apparaitre sur la base de registre

    car le mot de passe n'est jamais le meme suivant les utilisateurs.

    C'est via le formulaire que je souhaite le voir ensuite apparaitre

  4. #4
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    comme l'a dit eusebe19, ta variable MotDePasse est toujours vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string MotDePasse = "" ;
    , normal que tu n'ai rien dans la base de registre.

    Si le mot de passe n'est pas toujours le même il serait peut être intéressant de le passer en paramètre de ta méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void WriteValue(string MotDePasse)
    {
     
        RegistryKey Nkey = Registry.CurrentUser;
     
       try
         ...
         ...
    }

  5. #5
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Citation Envoyé par ismababa Voir le message
    car le mot de passe n'est jamais le meme suivant les utilisateurs.C'est via le formulaire que je souhaite le voir ensuite apparaitre
    Ça je m'en doute bien

    Mais j'insiste, dans le bout de code que tu montres, tu ne donnes pas de valeur à MotDePasse. Fais un test en forçant la valeur et vérifie ce que ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string MotDePasse = "testMDP";

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    oui j'ai essayé ça auparavant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valKey.SetValue("MyKeyValue", "coucou");
    et je récupère bien "coucou".

    Mais voilà mes capacités s'arretent là

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    oui toopac mais je ne vois de quel manière je peux le faire

    désolé

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Points : 40
    Points
    40
    Par défaut
    Comment appelles-tu ta fenêtre de login ?

  9. #9
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    ben quand tu veux écrire un mot de passe dans le base de registre tu appelles ta fonction avec le mot de passe en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WriteValue(unMotDePasse);

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    salut

    elle s'appelle form2

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par toopac
    ben quand tu veux écrire un mot de passe dans le base de registre tu appelles ta fonction avec le mot de passe en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WriteValue(unMotDePasse);
    ok mais le mot de passe moi je suis pas censé le connaitre

    A mon avis je devrais déjà trouver un bon tuto sur les bases de registres afin de bien comprendre le fonctionnement, car le problème doit etre surtout là

  12. #12
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    le mot de passe c'est pas celui que tu récupères dans ta fenêtre d'authentification?
    c'est txtBoxMDP.Text non?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    ah ben oui évidemment, maintenant que tu le dis
    logique !!!!

    je test tt ça demain matin

    merci toopac

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    effectivement j'arrive maintenant à récupérer le mot de passe sur la base de registre. Pour ceux à qui ça peut servir, voici le code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     //Fonction qui écrit le mot de passe dans la base de registre windows
             private void WriteValue(string MotDePasse)
             {
     
                 RegistryKey Nkey = Registry.CurrentUser;
     
                 try
                 {
                     RegistryKey valKey =
                     Nkey.OpenSubKey("Software\\enregistrement\\MyKey", true);
     
                     if(valKey == null)
                     {
                         Nkey.CreateSubKey("Software\\enregistrement\\MyKey");
                     }
     
                     valKey.SetValue("MyKeyValue", txtBoxMDP.Text);
                 }
     
                 catch(Exception er)
                 {
                     MessageBox.Show(er.Message, "enregistrement", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                 }
                 finally
                 {
                     Nkey.Close();
                 }
     
             }
    puis je retourne ceci dans le bouton valider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WriteValue(txtBoxMDP.Text);

    merci toopac

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

Discussions similaires

  1. Droits sur la Base de Registre
    Par Oncle_Pete dans le forum Langage
    Réponses: 8
    Dernier message: 16/05/2008, 17h59
  2. Intervenir sur la base de registre d'un autre PC
    Par olive_le_malin dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 15/05/2007, 09h22
  3. Ecrire et lire sur la base de registre sous windows
    Par brackaman dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 13/11/2006, 09h50
  4. Petites questions sur la base de registre
    Par tribaleur dans le forum Windows XP
    Réponses: 10
    Dernier message: 26/06/2006, 07h26
  5. Réponses: 5
    Dernier message: 20/03/2006, 14h44

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