C#
06# 네트워크 활성화/비활성화
NaHyungMin
2016. 5. 11. 15:41
2년차때 만들었던, WMI를 사용한 네트워크 관리
사용목적은 로컬/서버로 모두 전송하는 기능이 있는데, 야구장에서 네트워크가 너무 느린 관계로 응답속도때문에 대기 시간이 너무 길었다.
이에 로컬/서버만 따로 관리할 수 있도록 설정한 기능
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Management; namespace Solution_Network { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Boolean GetNetConnectionStatus() { return SystemInformation.Network; } //Win32_NetworkAdapter 사용 네트워크 제어 private void btnEnabled_Click(object sender, EventArgs e) { ManagementClass wmiClass = new ManagementClass("Win32_NetworkAdapter"); //Where NetEnabled=True" ManagementObjectCollection wmiObecjtCollection = wmiClass.GetInstances(); foreach (ManagementObject mo in wmiObecjtCollection) { if(mo["NetEnabled"] != null) { MessageBox.Show(((Boolean)mo["NetEnabled"]).ToString()); ManagementBaseObject enable = mo.InvokeMethod("enable", null, null); //ManagementBaseObject Disable = mo.InvokeMethod("Disable", null, null); } } } } } | cs |
구현 후 배치파일로 만들어서 솔루션에서 이벤트 시, 실행