- Để lấy địa chỉ MAC ta sử dụng thêm using System.Net.NetworkInfomation;
Code lấy địa chỉ MAC như sau:
/////////////////
//Lấy địa chỉ MAC
////////////////
string DanhSachMAC = "";
NetworkInterface[] DanhSachCardMang = NetworkInterface.GetAllNetworkInterfaces();
for (int i = 0; i < DanhSachCardMang.Length; i++)
{
PhysicalAddress DiaChiMAC = DanhSachCardMang[i].GetPhysicalAddress();
DanhSachMAC += DanhSachCardMang[i].Name + " : ";
byte[] ByteDiaChi = DiaChiMAC.GetAddressBytes();
for (int j = 0; j < ByteDiaChi.Length; j++)
{
DanhSachMAC += ByteDiaChi[j].ToString("X2");
if (j != ByteDiaChi.Length - 1)
{
DanhSachMAC += "-";
}
}
DanhSachMAC += "\r\n";
txtMAC.Text += DanhSachMAC;
}
hoặc
/////////////////
//Lấy địa chỉ MAC
////////////////
int l, i, j=0;
string MAC;
while (true)
{
try
{
MAC = NetworkInterface.GetAllNetworkInterfaces()[j].GetPhysicalAddress().ToString(); //đến đây đã lấy được địa chỉ rồi nhưng chưa có dấu phân cách
l = MAC.Length - 1;
for (i = 0; i <= l; i++)
{
if (i % 2 == 0 && i != 0) txtMAC.Text += "-";
txtMAC.Text += MAC[i];
}
j++;
txtMAC.Text += "\r\n";
}
catch
{
break;//Hết địa chỉ MAC rồi thì ngắt vòng lặp
}
}
Với cách 2 chạy lâu hơn rất nhiều :) khuyến cáo không nên dùng.