반응형

* C# WMI 를 이용한 네트워크 IP 및 Subnet, Gateway Set 예제...

- WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 using System.Management

 

Main

전체 소스 코드

From1.cs

 

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;

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

        private void button1_Click(object sender, EventArgs e)
        {
            ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection objMOC = objMC.GetInstances();

            foreach (ManagementObject mo in objMOC)
            {
                if (!(bool)mo["IPEnabled"])
                {
                    continue;
                }
                try
                {
                    ManagementBaseObject objNewIP = null;
                    ManagementBaseObject objSetIP = null;
                    ManagementBaseObject objNewGate = null;
                    objNewIP = mo.GetMethodParameters("EnableStatic");
                    objNewGate = mo.GetMethodParameters("SetGateways");

                    //Set Gateway
                    objNewGate["DefaultIPGateway"] = new string[] { txtGateway.Text  };
                    objNewGate["GatewayCostMetric"] = new int[] { 1 };
                    //Set IP
                    objNewIP["IPAddress"] = new string[] { txtIP.Text  };
                    //Set Subnet
                    objNewIP["SubnetMask"] = new string[] { txtSubnet.Text  };
                    objSetIP = mo.InvokeMethod("EnableStatic", objNewIP, null);
                    objSetIP = mo.InvokeMethod("SetGateways", objNewGate, null);

                    MessageBox.Show("Updated IPAddress, SubnetMask and Default Gateway!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Unable to Set IP : " + ex.Message);
                }

            }

        }
    }
}

*예제 결과

 

윈도우 시작 -> 실행 -> cmd -> ipconfig 로 네트워크 IP 확인 가능

 

변경하기 전 IP 
변경 후 네트워크  IP 및 Subnet, Gateway 

 

 

https://kdsoft-zeros.tistory.com/154

 

[C#] [WMI] 네트워크 IP 및 Subnet , Gateway 얻어오기

* C# WMI 를 이용한 네트워크 IP 및 Subnet, Gateway 얻어 오기 예제... 전체 소스 코드 Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Sys..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts