本文摘自PHP中文网,作者黄舟,侵删。
C#获取本机IP搜集整理7种方法的示例代码分享①
1 2 3 4 5 6 7 8 9 10 | 1 private void GetIP()
2 {
3 string hostName = Dns.GetHostName();
4
5 System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);
6 foreach (IPAddress ip in addressList)
7 {
8 listBox1.Items.Add(ip.ToString());
9 }
10 }
|
②使用IPHostEntry获取本机局域网地址
1 2 3 4 5 6 7 8 | 1 static string GetLocalIp()
2 {
3 string hostname = Dns.GetHostName();
4
5 <SPAN style= "WHITE-SPACE: pre" > </SPAN> IPHostEntry localhost = Dns.GetHostEntry(hostname);
6 IPAddress localaddr = localhost.AddressList[0];
7 return localaddr.ToString();
8 }
|
③获取本机网络ip地址
方法时通过向网站向一些提供IP查询的网站发送webrequest,然后分析返回的数据流
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 1 string strUrl = "提供IP查询的网站的链接" ;
2 Uri uri = new Uri(strUrl);
3 WebRequest webreq = WebRequest.Create(uri);
4 Stream s = webreq .GetResponse().GetResponseStream();
5 StreamReader sr = new StreamReader(s, Encoding.Default);
6 string all = sr.ReadToEnd();
7 int i = all.IndexOf( "[" ) + 1;
8
10
|
④//由于用到了ManagementClass、ManagementObjectCollection;必须添加引用System.Management.dll及using System.Management;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 1 private void GetIP2()
2 {
3 string stringMAC = "" ;
4 string stringIP = "" ;
5 ManagementClass managementClass = new ManagementClass( "Win32_NetworkAdapterConfiguration" );
6 ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
7 foreach (ManagementObject managementObject in managementObjectCollection)
8 {
9 if (( bool )managementObject[ "IPEnabled" ] == true )
10 {
11 stringMAC += managementObject[ "MACAddress" ].ToString();
12 string [] IPAddresses = ( string [])managementObject[ "IPAddress" ];
13 if (IPAddresses.Length > 0)
14 {
15 stringIP = IPAddresses[0];
16 }
17 }
18 }
19 txtMAC.Text = stringMAC.ToString();
20 txtIP.Text = stringIP.ToString();
21 }
|
⑤调用一个网站提供的Web服务来查询IP网址
弄了好半天,但是没学会怎样调用Web Service,按照搜到的页面做也不行,遂先放弃吧.....毕竟还未接触到WebService,改天把WebService搞定再来一定就容易了(留待以后完善吧)
⑥通过获取CMD里ipconfig命令的结果来得到IP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1 private void GetIP6()
2 {
3 Process cmd = new Process();
4 cmd.StartInfo.FileName = "ipconfig.exe" ;
6
8 cmd.StartInfo.RedirectStandardInput = true ;
9 cmd.StartInfo.UseShellExecute = false ;
10 cmd.StartInfo.CreateNoWindow = true ;
11
14 关于:ProcessWindowStyle.Hidden隐藏后如何再显示?
15 hwndWin32Host = Win32Native.FindWindow( null , win32Exinfo.windowsName);
16 Win32Native.ShowWindow(hwndWin32Host, 1);
17 */ 18 cmd.Start();
19 string info = cmd.StandardOutput.ReadToEnd();
20 cmd.WaitForExit();
21 cmd.Close();
22 textBox1.AppendText(info);
23 }
|
⑦NetworkInformation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1 private void GetIP5()
2 {
3
4
5
7 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
8 int i = 0;
9 foreach (NetworkInterface adapter in adapters)
10 {
11 12 IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
13 UnicastIPAddressInformationCollection allAddress =
14 adapterProperties.UnicastAddresses;
15 if (allAddress.Count > 0)
16 {
17 str += "interface " + i + "description:\n\t " + adapter.Description + "\n " ;
18 i++;
19 foreach (UnicastIPAddressInformation addr in allAddress)
20 {
21 if (addr.Address.AddressFamily == AddressFamily.InterNetworkV6)
22 {
23 ipListComb.Items.Add(addr.Address);
24 }
25 if (addr.Address.AddressFamily == AddressFamily.InterNetwork)
26 {
27 comboBox1.Items.Add(addr.Address);
28 }
29 30 }
31 }
32 }
33 MessageBox.Show(str);
34 }
|
以上就是C#获取本机IP搜集整理7种方法的示例代码分享的详细内容!
相关阅读 >>
C# 创建mdi窗体(图文)
详细概述C#中的常用字符串方法
C#计算标准偏差相当于excel中的stdev函数的代码案例
详解C#读取xml多级子节点的示例代码
.net的优点
讲解什么是msmq
C#中值类型和引用类型简单概述
C#基于正则表达式抓取a标签链接和innerhtml的方法
详解C#实现获取汉字十六进制unicode编码字符串的示例代码
C#灵活使用类的方法分享
更多相关阅读请进入《C#》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » C#获取本机IP搜集整理7种方法的示例代码分享