gpt4 book ai didi

c# - 获取计算机的MAC地址

转载 作者:行者123 更新时间:2023-11-30 15:40:11 25 4
gpt4 key购买 nike

我想使用c#访问计算机的mac地址。我使用以下代码访问 mac 地址,但此代码中存在一些问题。

代码 1

foreach( NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces() )
{
if( nic.OperationalStatus == OperationalStatus.Up )
{
Console.WriteLine( nic.GetPhysicalAddress().ToString() );
checkMAC = nic.GetPhysicalAddress().ToString();
break;
}
}

代码 2

 ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MACAddress = String.Empty;
foreach (ManagementObject mo in moc)
{
if (MACAddress == String.Empty) // only return MAC Address from first card
{
if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
}
mo.Dispose();
}

MACAddress = MACAddress.Replace(":", "");

在第一个代码中,当我们断开网络连接时,它将返回空 mac 地址。第二个代码在网络适配器连接 ID 断开时返回 mac 地址但是当我们断开网络连接或删除计算机的 IP 地址时,它将返回空 mac 地址。

如何在网络连接关闭时获取mac地址,没有分配给PC的IP地址或网络连接断开?

最佳答案

当您禁用网络适配器时,您根本无法访问它 - 就好像它没有安装一样,这就是您看不到 MAC 地址的原因。

编辑:解释:

MAC 地址属于网络适配器。如果您有 3 个适配器,则您有 3 个 MAC 地址。如果没有适配器,就没有 MAC 地址。

关于c# - 获取计算机的MAC地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9544018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com