2

我正在用 C# 开发窗口应用程序。我正在使用以下代码获取 MAC 地址

private void Form1_Load(object sender, EventArgs e)
        {
            lbl1.Text = "Hi";

            string macAddresses = "";

            foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (nic.OperationalStatus == OperationalStatus.Up)
                {
                    macAddresses += nic.GetPhysicalAddress().ToString();
                    break;
                }
            }
            lbl1.Text = macAddresses;

        }

在上面的代码中,我没有得到主网卡的 MAC 地址。在我的计算机中,我创建了两个环回适配器 A 和 B。我有一个物理 LAN 卡。现在我想获取主物理 LAN 卡的 MAC 地址而不是 A&B。如何做到这一点?您能否提供我可以解决上述问题的任何代码或链接?

4

2 回答 2

4

将条件更改为:

 // instead of nic.OperationalStatus == OperationalStatus.Up
 nic.NetworkInterfaceType != NetworkInterfaceType.Loopback

或者使用这个:

    nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType  ==  etworkInterfaceType.FastEthernetFx || nic.NetworkInterfaceType ==              NetworkInterfaceType.FastEthernetT
于 2010-10-22T09:15:53.333 回答
0

如果您使用 localhost 作为目标 IP 地址,我想您可以使用此链接...
如何获取 Mac 地址

于 2010-10-22T09:14:01.590 回答