2010-10-22 19 views
1

我正在C#中開發窗口應用程序。我正在使用以下代碼獲取MAC地址如何識別主物理網卡的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地址。在我的電腦中,我創建了兩個環回適配器A & B.我有一個物理Lan卡。現在我要獲取主物理Lan卡的MAC地址,而不是A & B.如何操作?你能否給我提供任何可以解決上述問題的代碼或鏈接?

回答

3

更改條件:

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

或者使用:

nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType == etworkInterfaceType.FastEthernetFx || nic.NetworkInterfaceType ==    NetworkInterfaceType.FastEthernetT 
+0

它不能正常工作 – 2010-10-22 09:34:21

+0

已更新答案 – Aliostad 2010-10-22 09:38:46

+0

它也不能正常工作 – 2010-10-22 09:42:25