본문 바로가기
C#

06# 네트워크 활성화/비활성화

by NaHyungMin 2016. 5. 11.

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"nullnull);
                        //ManagementBaseObject Disable = mo.InvokeMethod("Disable", null, null);
                    }
            }
        }
    }
}
cs

구현 후 배치파일로 만들어서 솔루션에서 이벤트 시, 실행




'C#' 카테고리의 다른 글

08# 키보드 후킹  (0) 2016.05.11
07# C# Entity framework  (0) 2016.05.11
05# 소켓 비동기식 처리  (0) 2016.04.18
04# 속성(Property) 객체 생성 시 초기화  (0) 2016.04.18
03# 외부 dll 타입제어(dev express)  (0) 2016.04.18