您的位置:首页 > 编程语言 > C#

C#获取IP

2016-07-11 15:42 381 查看
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace TestIP

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            this.richTextBox1.Clear();

            string iphostname = System.Net.Dns.GetHostName();

            //会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址

            //System.Net.IPAddress[] ipaddress = System.Net.Dns.GetHostByName(iphostname).AddressList;

            // //会返回所有地址,包括IPv4和IPv6  

            System.Net.IPAddress[] ipaddress = System.Net.Dns.GetHostAddresses(iphostname);

            if (ipaddress != null && ipaddress.Length > 0)

            {

                foreach (System.Net.IPAddress ip in ipaddress)

                {

                    this.richTextBox1.Focus();

                    SendKeys.Send(ip.ToString());

                    SendKeys.Send("{ENTER}");

                }

            }

        }

        private void button2_Click(object sender, EventArgs e)

        {

            this.richTextBox1.Clear();

            string iphostname = System.Net.Dns.GetHostName();

            System.Net.IPHostEntry iphostentry = System.Net.Dns.GetHostEntry(iphostname);

            System.Net.IPAddress[] ipaddress = iphostentry.AddressList;

            if (ipaddress != null && ipaddress.Length > 0)

            {

                foreach (System.Net.IPAddress ip in ipaddress)

                {

                    this.richTextBox1.Focus();

                    SendKeys.Send(ip.ToString());

                    SendKeys.Send("{ENTER}");

                }

            }

        }

        private void button3_Click(object sender, EventArgs e)

        {

            this.richTextBox1.Clear();

            System.Diagnostics.Process process = new System.Diagnostics.Process();

            process.StartInfo.FileName = "ipconfig.exe";

            process.StartInfo.Arguments = "/all";

            process.StartInfo.UseShellExecute = false;

            process.StartInfo.RedirectStandardInput = true;

            process.StartInfo.RedirectStandardOutput = true;

            process.StartInfo.RedirectStandardError = true;

            process.StartInfo.CreateNoWindow = true;

            //process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

            //关于:ProcessWindowStyle.Hidden隐藏后如何再显示? 

            //hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName); 

            //Win32Native.ShowWindow(hwndWin32Host, 1);

            //先FindWindow找到窗口后再ShowWindow 

            process.Start();

            string xx = process.StandardOutput.ReadToEnd();

            process.WaitForExit();

            process.Close();

            this.richTextBox1.Text = xx;

        }

        private void button4_Click(object sender, EventArgs e)

        {

            this.richTextBox1.Clear();

            string urlLink = "http://ip138.com/";

            //www.ip138.com

            System.Uri url = new Uri(urlLink);

            System.Net.WebRequest request = System.Net.WebRequest.Create(url);

            //System.Net.WebRequest request1 = System.Net.HttpWebRequest.Create(url);

            System.IO.Stream  respon = request.GetResponse().GetResponseStream();

            System.IO.StreamReader read = new System.IO.StreamReader(respon, Encoding.GetEncoding("gb2312"));

            string xxx = read.ReadToEnd();

            int cc = xxx.IndexOf("[");

            int cc1 = xxx.IndexOf("]");

            this.richTextBox1.Text = xxx;

        }

    }
}

运行界面如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息