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 :

Récupérer les adresses MAC d'un PC


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Tchaill39
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 110
    Par défaut Récupérer les adresses MAC d'un PC
    Bonjour à tous.

    J'ai besoin, dans une application de programmer la récupération des adresses MAC du PC sur lequel tourne mon appli.

    Après des recherches fructueuses sur le net, j'ai mis en place le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim mc As New ManagementClass("Win32_NetworkAdapterConfiguration")
     
            Dim moc As ManagementObjectCollection = mc.GetInstances()
     
            For Each mo As ManagementObject In moc
                If mo("IPEnabled") = True Then
                    MsgBox(mo("MacAddress").ToString)
                    mo.Dispose()
                End If
            Next
    Le problème de ce code est qu'il ne me renvoie l'adresse MAC de ma carte réseau uniquement si j'ai du réseau.

    Or, même si je n'ai pas de réseau, si je consulte les adresses MAC via un IPCONFIG /ALL dans le DOS, je trouve bien toutes mes adresses MAC


    Quelles modifs dois-je faire pour récupérer toutes les adresses MAC, même issues des cartes non connectées ??

    Merci pour votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Par défaut
    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
            Dim stInfo As New ProcessStartInfo
            Dim proc As New Process
            Dim strResultats As String = String.Empty
            Dim rgx As New System.Text.RegularExpressions.Regex("Adresse physique*")
            With stInfo
                .FileName = "ipconfig"
                .Arguments = "/all"
                .RedirectStandardOutput = True
                .UseShellExecute = False
                .CreateNoWindow = True
            End With
     
            proc.StartInfo = stInfo
            proc.Start()
            proc.WaitForExit()
     
            strResultats = proc.StandardOutput.ReadToEnd
            For Each line As String In strResultats.Split(vbCrLf)
                If rgx.IsMatch(line) Then
                    Console.WriteLine(line)
                End If
            Next
            Console.Read()
    A toi de découper la chaine pour l'@ MAC, ou même de faire une Regex plus puissante pour découper lors de la boucle.

  3. #3
    Membre confirmé Avatar de Tchaill39
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 110
    Par défaut
    Ben c'est ce qu'on peut appeler une réponse efficace.

    Rien à ajouter.

    Merci beaucoup.

  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
    Plus direct, moins de code, utiliser la classe PhysicalAddress, qui évitera les problèmes potentiels de Localisation (langue de l'OS) pour l'analyse du retour d'IPConfig qui peuvent très vite tourner au cauchemar (sans même parler de la complexité de l'analyse du retour d'un PC ayant plusieurs interfaces) :

    http://msdn.microsoft.com/en-us/libr...aladdress.aspx

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

Discussions similaires

  1. [Système] Récupérer l'adresse MAC de la machine
    Par la.musaraigne dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 27/01/2011, 14h08
  2. [Ada 95] Récupérer l'adresse MAC de la machine
    Par kindool dans le forum Ada
    Réponses: 3
    Dernier message: 26/05/2005, 15h49
  3. [MFC]récupérer l'adresse MAC
    Par julien20vt dans le forum MFC
    Réponses: 6
    Dernier message: 17/02/2004, 11h22
  4. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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