C# 從眾多網卡中擷取本地物理網卡的ip

來源:互聯網
上載者:User

標籤:style   blog   color   os   cti   for   

 1         /// <summary> 2         /// 擷取本機物理網卡的ip 3         /// </summary> 4         /// <returns></returns> 5         public static string IPAddress() 6         { 7             string userIP = ""; 8             System.Net.NetworkInformation.NetworkInterface[] fNetworkInterfaces = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces(); 9             foreach (System.Net.NetworkInformation.NetworkInterface adapter in fNetworkInterfaces)10             {11                 string fRegistryKey = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\" + adapter.Id + "\\Connection";12                 Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(fRegistryKey, false);13                 if (rk != null)14                 {15                     // 區分 PnpInstanceID      16                     // 如果前面有 PCI 就是原生真實網卡          17                     string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();18                     int fMediaSubType = Convert.ToInt32(rk.GetValue("MediaSubType", 0));19                     if (fPnpInstanceID.Length > 3 &&20                     fPnpInstanceID.Substring(0, 3) == "PCI")21                     {22                         //string fCardType = "物理網卡";23                         System.Net.NetworkInformation.IPInterfaceProperties fIPInterfaceProperties = adapter.GetIPProperties();24                         System.Net.NetworkInformation.UnicastIPAddressInformationCollection UnicastIPAddressInformationCollection = fIPInterfaceProperties.UnicastAddresses;25                         foreach (System.Net.NetworkInformation.UnicastIPAddressInformation UnicastIPAddressInformation in UnicastIPAddressInformationCollection)26                         {27                             if (UnicastIPAddressInformation.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)28                                 userIP = UnicastIPAddressInformation.Address.ToString(); // Ip 地址     29                         }30                         break;31                     }32 33                 }34             }35             return userIP;36         }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.