码迷,mamicode.com
首页 > 其他好文 > 详细

C# 从众多网卡中获取本地物理网卡的ip

时间:2014-07-07 22:33:22      阅读:385      评论:0      收藏:0      [点我收藏+]

标签: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         }

 

C# 从众多网卡中获取本地物理网卡的ip,布布扣,bubuko.com

C# 从众多网卡中获取本地物理网卡的ip

标签:style   blog   color   os   cti   for   

原文地址:http://www.cnblogs.com/zhaobiyu/p/Ramon.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!