我机子有两个网卡 C# 怎么获取正在对外使用的网卡的mac >>>?????
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC=mc.GetInstances();
string s = string.Empty;
foreach (ManagementObject mo in MOC)
{
if (mo["IPEnabled"].ToString() == "True")
{
s += mo["MacAddress"].ToString()+"\t\t\t";
}
}
这个可以获取两个mac 。???
System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC=mc.GetInstances();
string s = string.Empty;
foreach (ManagementObject mo in MOC)
{
if (mo["IPEnabled"].ToString() == "True")
{
s += mo["MacAddress"].ToString()+"\t\t\t";
}
}
这个可以获取两个mac 。???
public static void ShowNetworkInterfaces()
{//MSDN上的例子,获取MAC地址
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1} ",
computerProperties.HostName, computerProperties.DomainName);
if (nics == null || nics.Length < 1)
{
Console.WriteLine(" No network interfaces found.");
return;
} Console.WriteLine(" Number of interfaces .................... : {0}", nics.Length);
foreach (NetworkInterface adapter in nics)
{
IPInterfaceProperties properties = adapter.GetIPProperties(); // .GetIPInterfaceProperties();
Console.WriteLine();
Console.WriteLine(adapter.Description);
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
Console.WriteLine(" Interface type .......................... : {0}", adapter.NetworkInterfaceType);
Console.Write(" Physical address ........................ : ");
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
// Display the physical address in hexadecimal.
Console.Write("{0}", bytes[i].ToString("X2"));
// Insert a hyphen after each byte, unless we are at the end of the
// address.
if (i != bytes.Length - 1)
{
Console.Write("-");
}
}
Console.WriteLine();
}
}