.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
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.