基本信息
源码名称:C#自动更换IP实例源码下载
源码大小:0.04M
文件格式:.zip
开发语言:C#
更新时间:2013-01-24
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

C#自动更换IP实例


    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ShowInfo();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ManagementBaseObject myInMBO = null;
            ManagementBaseObject myOutMBO = null;
            ManagementClass myMClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection myMOCollection = myMClass.GetInstances();
            foreach (ManagementObject MObject in myMOCollection)
            {
                if (!(bool)MObject["IPEnabled"])    //判断网络连接是否可用
                    continue;
                //设置ip地址和子网掩码
                myInMBO = MObject.GetMethodParameters("EnableStatic");
                myInMBO["IPAddress"] = new string[] { textBox1.Text };
                myInMBO["SubnetMask"] = new string[] { textBox2.Text };
                myOutMBO = MObject.InvokeMethod("EnableStatic", myInMBO, null);
                //设置网关地址 
                myInMBO = MObject.GetMethodParameters("SetGateways");
                myInMBO["DefaultIPGateway"] = new string[] { textBox3.Text };
                myOutMBO = MObject.InvokeMethod("SetGateways", myInMBO, null);
                //设置DNS 
                myInMBO = MObject.GetMethodParameters("SetDNSServerSearchOrder");
                myInMBO["DNSServerSearchOrder"] = new string[] { textBox4.Text, textBox5.Text };
                myOutMBO = MObject.InvokeMethod("SetDNSServerSearchOrder", myInMBO, null);
                break;
            }
            ShowInfo();
            MessageBox.Show("IP地址设置成功!");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        #region 显示本地连接信息
        /// <summary>
        /// 显示本地连接信息
        /// </summary>
        public void ShowInfo()
        {
            ManagementClass myMClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection myMOCollection = myMClass.GetInstances();
            foreach (ManagementObject MObject in myMOCollection)
            {
                if (!(bool)MObject["IPEnabled"])
                    continue;
                string[] strIP = (string[])MObject["IPAddress"];            //获取IP地址
                string[] strSubnet = (string[])MObject["IPSubnet"];         //获取子网掩码
                string[] strGateway = (string[])MObject["DefaultIPGateway"];//获取默认网关
                string[] strDns = (string[])MObject["DNSServerSearchOrder"];//获取DNS服务器
                textBox1.Text = "";
                //显示IP地址
                foreach (string ip in strIP)
                {
                    if (textBox1.Text.Trim() != "")
                    {
                        textBox1.Text  = ","   ip;
                    }
                    else
                    {
                        textBox1.Text = ip;
                    }
                }
                textBox2.Text = "";
                //显示子网掩码
                foreach (string subnet in strSubnet)
                {
                    if (textBox2.Text.Trim() != "")
                    {
                        textBox2.Text  = ","   subnet;
                    }
                    else
                    {
                        textBox2.Text = subnet;
                    }
                }
                textBox3.Text = "";
                //显示默认网关
                foreach (string gateway in strGateway)
                {
                    if (textBox3.Text.Trim() != "")
                    {
                        textBox3.Text  = ","   gateway;
                    }
                    else
                    {
                        textBox3.Text = gateway;
                    }
                }
                try
                {
                    //显示DNS服务器
                    for (int i = 0; i < strDns.Length; i  )
                    {
                        if (i == 0)
                            textBox4.Text = strDns[i];
                        else
                            textBox5.Text = strDns[i];
                    }
                }
                catch { }
            }
        }
        #endregion
    }