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

VB.NET Discussion :

Modifier une valeur dans le registre


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Points : 78
    Points
    78
    Par défaut Modifier une valeur dans le registre
    Bonjour à tous j'ai un souci pour modifier une valeur de clé dans le registre.

    La clé se situe ici :

    "HKEY_CURRENT_USER\\SOFTWARE\\Google\\Google Earth Pro\\SaveDialogLastDir"

    je souhaite modifier le dossier de départ de sauvegarde lors de l'export.

    j'ai trouvé sur le net ceci....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Imports Microsoft.Win32
     
    Dim regKey As RegistryKey
    regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Google\\Google Earth Pro", True)
    regKey.SetValue("SaveDialogLastDir", Me.L_Lien_projet.Text)
    regKey.Close()
    Mais lorsque j’exécute le code, j'ai l’erreur suivante :

    La référence d'objet n'est pas définie à une instance d'un objet. sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regKey.SetValue("SaveDialogLastDir", Me.L_Lien_projet.Text)
    Pourriez vous me guider vers une solution.

    En vous remerciant.

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Ta solution se situe dans l’énoncé de ton problème !

    ---> Tu dis que la clé se situe dans HKCU alors que tu modifies HKLM .....

    Pour détailler :

    - Tu places la portion de code dans un bloc Try...Catch (ca permettra de savoir si tu as les droits en écriture sur la dite clé avant de te lancer tête baissée)
    - Tu ouvres la bonne clé de registre (avec accès en écriture) : HKCU
    - Tu vérifies si la valeur lue n'est pas nulle
    - Tu définies la nouvelle valeur
    - Tu fermes la clés de registre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Try
        Dim regKey As RegistryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Google\Google Earth Pro", True)
        If Not regKey Is Nothing Then
            regKey.SetValue("SaveDialogLastDir", "Ta_valeur_de_type_String")
            regKey.Close()
        End If
    Catch Ex As Exception
        MsgBox(Ex.ToString)
    End Try
    Si toutefois...... tu te rends compte que ce n'est finalement plus situé dans HKCU mais HKLM alors il faut bien prendre en compte ce qui suit pour pouvoir lire/écrire la valeur au bon emplacement du registre :

    --> Compile ton projet en AnyCPU
    --> Si le système d'exploitation sur lequel ton programme sera exécuté possède une architecture x64 bits ou 32 bits :
    - Tu pourras lire/écrire la valeur dans : "HKLM\SOFTWARE\Google\Google Earth Pro"

    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Points : 78
    Points
    78
    Par défaut
    Je te remercie.

    mais quel boulet de pas avoir vu que j'allait dans le mauvais dossier.


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

Discussions similaires

  1. [vb6]modifier une valeur dans la base de registre
    Par bailamos dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/11/2007, 22h04
  2. Modifier une valeur dans un fichier sans passer par l'éditeur
    Par elkhy dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/06/2006, 00h15
  3. modifier une valeur dans une hash
    Par chaabane dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2006, 10h59
  4. [C#] Modifier une valeur dans une DataTable
    Par Scorff dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/05/2005, 10h45
  5. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55

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