心的方向——

导航

 
 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         }

 

posted on 2014-06-28 00:33  Ramon.Zhao  阅读(2596)  评论(0)    收藏  举报