Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] récupérer le nom d'un repertodans le registre

Sujet résolu
    17 juin 2019 à 10:49:11

    Bonjour, j'aimerai récupérer une valeur dans le registre,
    voici le chemin du registre :  registreOrdinateur\HKEY_CURRENT_USER\Printers\Connections\
    Dans ce chemin j'ai plusieurs répertoire du style ",,server-name,printername"
    et mon but est juste de récupérer le nom des répertoires 
    voici mon code, dans ce code j'arrive juste à récupérer des clef de registre : 
        public void REcupprinter()
        {
                //opening the subkey  
                RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Ordinateur\HKEY_CURRENT_USER\Printers\Connections");
                 
                //if it does exist, retrieve the stored values  
                if (key != null )   
                {
                   // Console.WriteLine(key.GetValue("Name"));
                    Console.WriteLine(key.GetValue("Port"));
                    
                    listlog.Items.Add("Port: "+ key.GetValue("Port"));
                    listlog.Items.Add("nombre de valeur de la clé "+ key.ValueCount);
                    listlog.Items.Add("type de l'instance actuelle"+ key.GetType());
                    listlog.Items.Add("type de donnée: "+ key.GetValueKind("Port"));
                    listlog.Items.Add("nom de la sous clé: "+ key.GetSubKeyNames());
                    listlog.Items.Add("chaine de la clé: "+ key.ToString());
                    
                    key.Close();
                }
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      17 juin 2019 à 11:02:48

      Registry.GetValue

      La partie ACL est à faire dans le open de mémoire.

      Aussi, tu demandes à ta commande de lire dans la basekey HKLM pour au final lui donner un chemin vers HKCU :

                  using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Printers\Connections", false))
                  {
                      String[] t = key.GetValueNames();
      
                      foreach (String g in t)
                      {
                          Console.WriteLine(g + " = " + key.GetValue(g, "(value not set)", RegistryValueOptions.None));
                      }
                  }



      -
      Edité par LilyKianii 17 juin 2019 à 11:51:28

      • Partager sur Facebook
      • Partager sur Twitter

      [C#] récupérer le nom d'un repertodans le registre

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown