كود :
using System;
using System.Management;
using System.Windows.Forms;
namespace AdressesMAC
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
private void FillNetworkAdapters()
{
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject o in moc)
{
if ((bool)o.GetPropertyValue("IPEnabled") == true)
{
string strAdapter;
strAdapter = o.GetPropertyValue("Caption").ToString();
cbxNetwokAdapters.Items.Add(strAdapter);
}
}
}
private string GetMACAddress(string Adapter)
{
ManagementClass mc;
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject o in moc)
{
if ((bool)o.GetPropertyValue("IPEnabled") == true)
{
string strAdapter;
strAdapter = o.GetPropertyValue("Caption").ToString();
if (strAdapter == Adapter)
return o.GetPropertyValue("MacAddress").ToString();
}
}
return string.Empty;
}
private void cbxNetwokAdapters_SelectedIndexChanged(object sender, EventArgs e)
{
lblMacAddress.Text = GetMACAddress(cbxNetwokAdapters.SelectedItem.ToString());
}
private void frmMain_Load(object sender, EventArgs e)
{
FillNetworkAdapters();
}
}
}
فيبي .نت (مع الشكر للاستاذ سامر)
كود :
Imports System.IO
Imports System
Imports System.Management
Imports System.Windows.Forms
Public Class Form1
Private Sub FillNetworkAdapters()
Dim mc As ManagementClass
mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()
Dim o As ManagementObject
For Each o In moc
If CType(o.GetPropertyValue("IPEnabled") = True, Boolean) Then
Dim strAdapter As String
strAdapter = o.GetPropertyValue("Caption").ToString()
cbxNetwokAdapters.Items.Add(strAdapter)
End If
Next
End Sub
Private Function GetMACAddress(ByVal Adapter As String) As String
Dim mc As ManagementClass
mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()
Dim o As ManagementObject
For Each o In moc
If CType(o.GetPropertyValue("IPEnabled") = True, Boolean) Then
Dim strAdapter As String
strAdapter = o.GetPropertyValue("Caption").ToString()
If strAdapter = Adapter Then
Return o.GetPropertyValue("MacAddress").ToString()
End If
End If
Next
Return String.Empty
End Function
Private Sub cbxNetwokAdapters_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles cbxNetwokAdapters.SelectedIndexChanged
lblMacAddress.Text = GetMACAddress(cbxNetwokAdapters.SelectedItem.ToString())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FillNetworkAdapters()
End Sub
End Class