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;

        }

上記のコードでは、プライマリ LAN カードの MAC アドレスを取得していません。私のコンピュータでは、2 つのループバック アダプタ A と B を作成しました。物理 LAN カードは 1 つあります。ここで、A & B ではなくプライマリ物理 LAN カードの MAC アドレスを取得したいと考えています。これを行う方法は? 上記の問題を解決できるコードまたはリンクを教えてください。

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

ターゲット IP アドレスとして localhost を使用する場合、このリンクを使用できると思います...
Mac アドレスを取得する方法

于 2010-10-22T09:14:01.590 に答える