locked
Informations sur le réseau RRS feed

  • Question

  • Bonjour à tous,

     

    Dans un programme .net (c#) je cherche à récupérer les informations que l'on retrouve dans le "Network and Sharing Center" :

    - Nom du réseau sur lequel on est connecté

    - Type de réseau (public, private...)

     

    Si vous avez des infos...

     

    Merci.

    Sébastien

    vendredi 13 juin 2008 09:35

Toutes les réponses

  • Es-ce que System.Net.NetworkInformation serait ok?
    vendredi 13 juin 2008 13:40
    Modérateur
  • Merci pour ta réponse...

     

    en fait, je cherche surtout à récupérer le nom du réseau sur lequel je me trouve (celui afficher par vista).

     

    à partir de ça, je vais pouvoir identifer les différents réseaux sur lequel je me connecte, et configurer par exemple mon proxy, mon imprimante par défaut, le stmp...

     

    Merci.

    Sébastien

     

    vendredi 13 juin 2008 13:45
  • Recherche sur les blogs de code-sources, je sais y en a un qui avait ces informations.

     

    Meilleures salutations !

    mercredi 8 octobre 2008 07:41
  • Bonjour,

    Je pense que ce que tu cherches ce trouve sous forme d'objet COM là :

    http://msdn.microsoft.com/en-us/library/aa370735(VS.85).aspx

    Sinon tu as l'astuce suivante :

    http://blogs.developpeur.org/sebmafate/archive/2008/06/24/c-vista-r-cup-rer-les-informations-sur-le-r-seau-courant.aspx

    C'est un peu 'capilotracté' mais bon.

    Un MVP va bien nous trouver la classe WMI qui va bien ;o)


    Cordialement.

    JP
    JPB
    • Proposé comme réponse Bleucat mercredi 9 septembre 2009 13:47
    mercredi 9 septembre 2009 13:46
  • Re Bonjour,

    Je suis un peu nouveau en C#, mais en m'inspirant de :

    http://msdn.microsoft.com/en-us/library/aa645736(VS.71).aspx

    Qui explique comment utiliser un composant COM en C#

    J'ai pondu le bout de code suivant à partir d'un projet console et en ajoutant une référence à l'objet COM "Network List Manager".

    Je pense que pour le coup c'est la réponse ;o)


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace networkCenter
    {
      class Program
      {
        static void Main(string[] args)
        {
          NETWORKLIST.NetworkListManager nlmLesListesDuNetworkCenter = new NETWORKLIST.NetworkListManager();
    
          NETWORKLIST.IEnumNetworks TousLesRéseaux = nlmLesListesDuNetworkCenter.GetNetworks(NETWORKLIST.NLM_ENUM_NETWORK.NLM_ENUM_NETWORK_ALL);
    
          foreach (NETWORKLIST.INetwork ChaqueRéseaux in TousLesRéseaux)
          {
            Console.WriteLine("Nom du réseau {0} utilisé : {1}", ChaqueRéseaux.GetName(), ChaqueRéseaux.IsConnected);
    
            if (ChaqueRéseaux.GetName() == "silogix")
            {
              /* Positionne le réseau reconnu comme Privé
               */
              ChaqueRéseaux.SetCategory(NETWORKLIST.NLM_NETWORK_CATEGORY.NLM_NETWORK_CATEGORY_PRIVATE);
            }
          }
    
        }
      }
    }
    Cordialement

    JP
    JPB
    • Proposé comme réponse Bleucat mercredi 9 septembre 2009 14:57
    mercredi 9 septembre 2009 14:57