음.. 오늘 또 어느분께서 WMI를 이용해서 IP주소를 알아내는 방법에 대해서 질문하셨습니다.
그래서 간단하게.. WMI를 이용해서 IP주소를 포함한.. 다른 시스템 정보를 받아오는 방법에 대해서 알아보도록 하겠습니다.
.NET기반 에서는 System.Management 를 참조함으로써 사용할 수 있게 됩니다.
우선 위 클래스 사용을 위해서 참조를 추가합니다.
그리고 사용하기 원하는 파일에서
using System.Management;
간단하게 코드를 통해서 알아보도록 하겠습니다.
저는 드라이버의 Volume Serial Number, CUP ID(Processor ID), NIC카드의 On/Off여부, MAC/IP Address를 알아오는 것에 대해서 해보았습니다.
Volume Serial Number 알아오기
|
private String GetVolumeSerialNumber(String Drive) try return strVolumeSerialNumber;
|
사용예
String strVolumeSerial = GetVolumeSerialNumber("C"); //C드라이브의 시리얼 번호 가져오기
|
인터넷 연결 여부 가져오기 |
private bool GetNetConnectionStatus()
|
true = 연결됨 false = 연결안됨
|
NIC의 MAC Address 가져오기
|
private String GetMACAddress() if (GetNetConnectionStatus()) try return strMACAddress;
|
사용예
String strMacAddress = GetMACAddress();
|
Network정보 가져오기 (IP주소)
현재는 IP주소만 명시했지만, 이를 이용해 Win32_NetworkAdapterConfiguration를 이용하면 Subnetmask, DefaultGateway등.. 다른 정보도 가져오거나 편집할 수 있습니다.
|
private String GetIpAddress() ObjectQuery objQuery = new ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='True'"); try return strIpAddress;
|
사용예
String strIpAddress = GetIpAddress();
|
간단하게 살펴보았는데요..
기본적으로 WMI라고 하여도.. 쿼리문을 이용해서 해당 정보를 조회하거나 설정하는 형태입니다.
좀 더 많은 정보를 원하시면 WQL(WMI for SQL)을 찾아 적용하시면 됩니다.
'Program > C#' 카테고리의 다른 글
Google API를 이용한 WinForm 날씨 정보 받기 (0) | 2010.03.19 |
---|---|
Form-Form 데이터 전달 (0) | 2010.03.19 |
.NET CF에서 WndProc 사용법 (0) | 2010.03.19 |
프로세스 정보 가져오기 (0) | 2010.03.19 |
DoubleBuffer구현을 통한 잔상없애기 (0) | 2010.03.19 |