1 private void GetIP()  
 2 {
3 string hostName = Dns.GetHostName();//本机名
4 //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;
//会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址
5 System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);
//会返回所有地址,包括IPv4和IPv6
6 foreach (IPAddress ip in addressList)
7 {
8 listBox1.Items.Add(ip.ToString());
9 }
10 }

使用IPHostEntry获取本机局域网地址

1         static string GetLocalIp()
2 {
3 string hostname = Dns.GetHostName();//得到本机名
4 //IPHostEntry localhost = Dns.GetHostByName(hostname);
//方法已过期,只得到IPv4的地址
5 <SPAN style="WHITE-SPACE: pre"> </SPAN>
IPHostEntry localhost = Dns.GetHostEntry(hostname);
6 IPAddress localaddr = localhost.AddressList[0];
7 return localaddr.ToString();
8 }

方法时通过向网站向一些提供IP查询的网站发送webrequest,然后分析返回的数据流

 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 //分析字符串得到IP
9 return ip;
10 /*
11 我用的是http://www.ip.cn/getip.php?action=getip&ip_url=&from=web
12 (这种链接很容易找的,百度“IP”得到一些网站,分析一下网站的链接就能得到)
13 返回的数据是:
14 <div class="well"><p>当前 IP:<code>0.0.0.0</code>&nbsp;
来自:XX省XX市 电信</p><p>GeoIP: Beijing, China</p></div>
15 解析这段就行
16 */

通过获取CMD里ipconfig命令的结果来得到IP

 1    private void GetIP6()
2 {
3 Process cmd = new Process();
4 cmd.StartInfo.FileName = "ipconfig.exe";//设置程序名
5 cmd.StartInfo.Arguments = "/all"; //参数
6 //重定向标准输出
7 cmd.StartInfo.RedirectStandardOutput = true;
8 cmd.StartInfo.RedirectStandardInput = true;
9 cmd.StartInfo.UseShellExecute = false;
10 cmd.StartInfo.CreateNoWindow = true;//不显示窗口(控制台程序是黑屏)
11 //cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
//暂时不明白什么意思
12 /*
13 收集一下 有备无患
14 关于:ProcessWindowStyle.Hidden隐藏后如何再显示?
15 hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName);
16 Win32Native.ShowWindow(hwndWin32Host, 1);
//先FindWindow找到窗口后再ShowWindow
17 */
18 cmd.Start();
19 string info = cmd.StandardOutput.ReadToEnd();
20 cmd.WaitForExit();
21 cmd.Close();
22 textBox1.AppendText(info);
23 }

C#获取本机IP以及无线网ip的更多相关文章

  1. js获取本机mac地址,IP地址,计算机名

    <!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> < ...

  2. C++获取本机用于连接的IP地址

    最近写个程序需要获取本机用于连接的IP地址,经过很多的尝试后,最终使用的方法如下: 使用cmd命令    netstat  | findstr “192.168.6.66:3333” > D:\ ...

  3. 获取客户机MAC地址 根据IP地址 获取机器的MAC地址 / 获取真实Ip地址

    [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest, Int32 host, ref ...

  4. c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息

    我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ...

  5. Linux C 获取本机所有网卡的 IP,Mask

    0 运行环境 本机系统:Windows 10 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:Ubuntu 18 1 代码 #include <sys/ioctl.h> ...

  6. C#获取本机的外网IP

    /// <summary> /// 功能:获取本地的外网IP地址 /// 作者:黄海 /// 时间:2016-07-22 /// </summary> /// <retu ...

  7. 在.bashrc中,使用python获取本机IP地址(现在只支持wlan)

    其实最好的办法是写个单独的脚本去查找IP,但是如果实在不愿意单写一个脚本文件,也可以直接将代码嵌入.bashrc中 在~/.bashrc下加入下面这行代码即可使用python获取本机的wlan的IP地 ...

  8. LabVIEW 获取本机多个ip地址

    图 1   网上见了好多设置的,都没讲清楚,在这里整理一下本机ip地址的获取问题.关键在"字符串向ip地址转换"函数的设置上面,见下图2,选择多输出就能获取本机的多个ip地址,若不 ...

  9. Qt-网络与通信-获取本机网络信息

    在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...

随机推荐

  1. Extjs 4.2 grid 分页问题,点击下一页参数没带过去

    最初的store写法: var store = Ext.create('Ext.data.Store', { model: 'PKU',//这个地方CarPKU不是一个对象,而是一个类 remoteS ...

  2. tomcat配置及使用 环境变量设置

    Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 我这里是tomcat5.5,解压到的D盘 (路径为: D:\Program Files\tomcat ...

  3. matlab查找回车字符

    Hi all, I would like to read the data all at once with: `file_text = fread(fid, inf, 'uint8=>char ...

  4. UML: CIM & PIM

    CIM-1:定义业务流程 定义及分析业务流程(Business Process)是为了尽快理清系统范围,以便估算开发成本及时间,可不是为了要改造业务流程.系统分析员千万别误解了此步骤的目的.所以,系统 ...

  5. jquery ajax对特殊字符进行转义防止js注入使用示例

    在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言 ...

  6. Redis学习笔记(十)——过期时间、访问限制与缓存

    http://irfen.me/redis-learn-10-time-expire-limit-cache/ 过期时间 之前应该提到过 redis 的特性之一是可以设置键的超时时间.命令是expir ...

  7. 【QT】视频播放+文件选择

    折腾了两个小时,太久没用了,找了半天的感觉. 先是在视频播放 的代码基础上加选择视频的按钮,开始总是显示两个框,后来发现需要用QSplitter来实现同时有多个框的情况. 把中心窗口设为这个split ...

  8. Asp.net MVC4.0自定义Html辅助方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  9. java基础知识回顾之---java StringBuilder与StringBuffer异同点

    /*         * StringBuilder与StringBuffer异同点:         *          * 使用方法与StringBuffer完全一样         * Str ...

  10. java基础知识回顾之---java String final类构造方法

    /** * String 构造方法学习 *     String(byte[ ] bytes):通过byte数组构造字符串对象. *     String(byte[] bytes, int offs ...