標籤: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 }