반응형
* C# WMI 를 이용한 네트워크 IP 및 Subnet, Gateway Set 예제...
- WMI 를 사용하기 위해 참조 -> System.Management dll 을 추가 -> 소스 코드 using System.Management
전체 소스 코드
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 확인 가능
https://kdsoft-zeros.tistory.com/154
반응형
'C# Programming' 카테고리의 다른 글
[C#] [API] 한/영 키 상태 값 구하기 (0) | 2020.03.05 |
---|---|
[C#] 윈도우 폼(Window Form) - 폼(Form) 화면 그대로 프린트(Print) (0) | 2020.03.03 |
[C#] [WMI] 네트워크 IP 및 Subnet , Gateway 얻어오기 (0) | 2020.02.26 |
[C#] [WMI] HDD Temperature (하드디스크 온도 체크) (0) | 2020.02.24 |
[C#] Provider - 로컬 네트워크에 사용가능한 OLEDB 공급자 (0) | 2020.02.22 |