狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

用C#實現對本機IP地址的設置

admin
2021年5月21日 9:45 本文熱度 5207

IP設置程序程序需要使用到WMI,因此首先添加對WMI的引用,打開【解決方案資源管理器】,在【引用】項上單擊右鍵,并選擇【添加引用】菜單項,有需要的可以拿用,程序界面如圖:


這里用到一類MaskedTextBox控件,具體使用大家可以百度一下,這里便不多說。源代碼如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Management;

using System.IO;


namespace IPSet

{

    public partial class FrmIPset : Form

    {

        public FrmIPset()

        {

            InitializeComponent();

            // 獲取本地計算機所有網卡信息

            string carName = "";

            ManagementObjectSearcher search = new ManagementObjectSearcher("SELECT * FROM Win32_NetWorkAdapterConfiguration");

            foreach (ManagementObject sear in search.Get())

            {

                if (sear["IPAddress"] != null)

                {

                    carName = sear["Description"].ToString().Trim();

                    comboBox1.Items.Add(carName);

                }

            }

            comboBox1.SelectedIndex = 0;

        }

        private void button1_Click(object sender, EventArgs e)

        {

            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

            ManagementObjectCollection moc = mc.GetInstances();

            foreach (ManagementObject mo in moc)

            {

                if ((bool)mo["IPEnabled"])

                {

                    if (mo["Description"].ToString() == comboBox1.SelectedItem.ToString().Trim())

                    {

                        ManagementBaseObject newIP =mo.GetMethodParameters("EnableStatic");

                        ManagementBaseObject newGateway =mo.GetMethodParameters("SetGateways");

                        ManagementBaseObject newDNS =mo.GetMethodParameters("SetDNSServerSearchOrder");

                        // 將要修改的目標 IP 地址

                     //   string selectNewIP;

                        string IPStr = "";

                        string[] IPPart = maskedTextBox1.Text.Split('.');

                        for (int i = 0; i <= 3;i++ )

                        {

                            //刪除尾部首部的空格

                            IPStr+=(IPPart[i].Trim()+".");

                        }

                        IPStr = IPStr.Substring(0,IPStr.Length-1);

                        newIP["IPAddress"] = new string[] { IPStr };


                        //設置子網掩碼

                         string subStr = "";

                         string[] subPart = mtxtSubNetwork.Text.Split('.');

                         for (int i = 0; i <= 3; i++)

                         {

                             //刪除尾部首部的空格

                             subStr += (subPart[i].Trim() + ".");

                         }

                         subStr = subStr.Substring(0, subStr.Length - 1);

                         newIP["SubnetMask"] = new string[] { subStr };


                         //設置網關地址

                         string gatStr = "";

                         string[] gatPart = mtxtGateway.Text.Split('.');

                         for (int i = 0; i <= 3; i++)

                         {

                             gatStr += (gatPart[i].Trim() + ".");

                         }

                         gatStr = gatStr.Substring(0, gatStr.Length - 1);

                         newGateway["DefaultIPGateway"] = new string[] { gatStr };

                         // 將要修改的目標 DNS 首選地址

                         string dnsStr1 = "";

                         string[] dnsPart1 = mtxtDNS1.Text.Split('.');

                         for (int i = 0; i <= 3; i++)

                         {

                             dnsStr1 += (dnsPart1[i].Trim() + ".");

                         }

                         dnsStr1 = dnsStr1.Substring(0, dnsStr1.Length - 1);

                         // 將要修改的目標 DNS 備用地址

                         string dnsStr2 = "";

                         string[] dnsPart2 = mtxtDNS2.Text.Split('.');

                         for (int i = 0; i <= 3; i++)

                         {

                             dnsStr2 += (dnsPart2[i].Trim() + ".");

                         }

                         dnsStr2 = dnsStr2.Substring(0, dnsStr2.Length - 1);

                         newDNS["DNSServerSearchOrder"] = new string[] { dnsStr1, dnsStr2 };

                         // 修改網絡設置

                         try

                         {

                             ManagementBaseObject setIP = mo.InvokeMethod("EnableStatic", newIP, null);

                             ManagementBaseObject setGateways = mo.InvokeMethod("SetGateways", newGateway, null);

                             ManagementBaseObject setDNS = mo.InvokeMethod("SetDNSServerSearchOrder", newDNS, null);

                             MessageBox.Show("設置成功");

                         }

                         catch (Exception ex)

                         {

                             MessageBox.Show(ex .Message);

                         }

                         break;

                    }

                }

            }

        }


        private void button2_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

        //使能修改按鍵

        private void maskedTextBox1_TextChanged(object sender, EventArgs e)

        {

            button1.Enabled = true;

        }

        //自動獲取

        private void button3_Click(object sender, EventArgs e)

        {

            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

            ManagementObjectCollection moc = mc.GetInstances();

            foreach (ManagementObject mo in moc)

            {

                if ((bool)mo["IPEnabled"])

                {

                    if (mo["Description"].ToString() == comboBox1.SelectedItem.ToString().Trim())

                    {

                        //重置DNS為空

                        mo.InvokeMethod("SetDNSServerSearchOrder", null);

                        //開啟DHCP

                        mo.InvokeMethod("EnableDHCP", null);

                        MessageBox.Show("自動獲取IP成功!");

                        break;

                    }

                }

            }

        }

    }

}


該文章在 2021/5/21 9:46:47 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved