Lister les adresses mac

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 417 fois - Téléchargée 19 fois

Contenu du snippet

.net v2 uniquement

Récupérer la collection des adresses MAC d'un PC

Cette source est inspirée d'une methode utilisée en C#

Source / Exemple :


Imports System.Net.NetworkInformation
Public Class MACcollect
    'Déclaration : Constante de séparation des digits de l'adresse MAC
    Const sSeparateur As String = "-"

    Shared Function ShowNetworkInterfaces()
        'Déclaration : Collection des Interfaces Réseau
        Dim nics As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
        'Déclaration : Tableau de Chaines de caractères pour les adresses physiques
        Dim sAdress(0) As String
        'Déclaration : Entier représentant le numéro de l'Interface Réseau en cours de traitement
        Dim iAdress As Integer = 0
        'Vérification de la présence d'au moins une interface Réseau Active sur l'ordinateur 
        If Not IsArray(nics) Then MsgBox("Erreur de détermination des propriétés Réseau") : Return -1 : Exit Function
        'Enumération des Interfaces Réseau
        For Each adapter As NetworkInterface In nics
            'Déclaration : Objet PhysicalAddress correspondant à l'Interface Réseau en Cours
            Dim address As PhysicalAddress = adapter.GetPhysicalAddress()
            'Déclaration : Tableau d'octets repésentants l'Adresse Physique
            Dim bytes As Byte() = address.GetAddressBytes()
            'Redimentionnement : Tableau de Chaines de caractères pour les adresses physiques
            '                 -> Ajout d'un Element Initialisé à ""
            ReDim Preserve sAdress(iAdress + 1) : sAdress(iAdress) = ""
            'Enumération des Octets de l'adresse
            For i As Integer = 0 To bytes.Length - 1
                'Conversion d'un octet en Codé Hexa sur Deux Digits
                sAdress(iAdress) &= bytes(i).ToString("X2")
                'Ajout d'un Séparateur entre chaque Octet Codé en Hexa sur Deux Digits
                If i <> bytes.Length - 1 Then
                    sAdress(iAdress) &= sSeparateur
                End If
            Next
            'Incrémentation : Entier représentant le numéro de l'Interface Réseau en cours de traitement
            iAdress += 1
        Next
        'Renvoi de la collection d'adresses en format Chaine de caractères
        Try
            Return sAdress
        Catch ex As Exception
            Return -1
        End Try
    End Function

End Class

Conclusion :


Ajoutez cette classe a votre projet .net

Utilisation : Dim sMACs() As String = MACcollect.ShowNetworkInterfaces

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
28 mars 2011

Désolé avait oublier de mettre la note :)
Messages postés
2
Date d'inscription
samedi 4 septembre 2010
Statut
Membre
Dernière intervention
28 mars 2011

Franchement bravo pour ce magnifique code !

10/10
Messages postés
6
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
24 octobre 2008

Merci j’été vraiment besoin de cette function
Dieu vous protége :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.