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 :

Modifier clé du registry


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Jimmy_S
    Inscrit en
    Octobre 2005
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 214
    Par défaut Modifier clé du registry
    Bonjour,

    J'essaye de modifier une clé de la base de registre, mais cela ne marche pas.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            private static void CléUpdate()
            {
                RegistryKey cle = Registry.LocalMachine.OpenSubKey(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\");
                cle.SetValue(@"\{3BABE96D-01D3-41D1-A966-D18F03FFDDF1}\DefaultGateway\", @"10.0.0.253");
                cle.Close();
            }
    Des idées ? Je me prends l'erreur suivante sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cle.SetValue(@"\{3BABE96D-01D3-41D1-A966-D18F03FFDDF1}\DefaultGateway\", @"10.0.0.253");
    Object reference not set to an instance of an object.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Cela veut tout simplement dire que cette ligne:

    RegistryKey cle = Registry.LocalMachine.OpenSubKey(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\");


    ne fonctionne pas et donc que cle est null

  3. #3
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Bonjour,

    J'ai trouvé pourquoi ca ne marchait par car dans ta ligne quand tu fais .LocalMachine tu te trouve déjà dans HKEY_LOCAL_MACHINE donc il faut que tu fasse:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      private static void CléUpdate()
            {
                RegistryKey cle = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\", true);
              if(cle!=null)
    {
      cle.SetValue(@"\{3BABE96D-01D3-41D1-A966-D18F03FFDDF1}\DefaultGateway\", @"10.0.0.253");
                cle.Close();
    }
            }
    [EDIT] suite au commentaire au-dessous j'ai modifié le code[/EDIT]

    la deuxième paramètre est à true pour que tu aie l'accès en écriture dans la base de registre et que tu ne sois pas en lecture seul.

    J'espère que ca aidera

    ++

    Thierry

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Déjà, à la base, invoquer une méthode sur une instance non issue d'un constructeur sans tester sa validité préalablement, c'est largement critiquable.

Discussions similaires

  1. modifier la clé registry HKEY_CURRENT_USER
    Par yann458 dans le forum Windows
    Réponses: 4
    Dernier message: 30/04/2013, 07h05
  2. Réponses: 5
    Dernier message: 27/11/2002, 14h08
  3. [VB6] [MDI] Modifier form en MDIform
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/09/2002, 13h48
  4. Réponses: 5
    Dernier message: 06/08/2002, 20h08
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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