[WinForm] WMI(Windows Management Instrumentation)를 이용하면 하드웨어의 정보를 추출

2011. 12. 1. 14:44C#/WinForm

WMI(Windows Management Instrumentation)를 이용하면 하드웨어의 정보를 추출할수 있습니다. WMI는 많은 자료가 있으므로 생략하고 C#에서 간단하게 현재 접속된 USB에 대한 정보를 추출을 해보겠습니다. 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
 
namespace ConsoleApplication1
{
    public class WmiDemo
    {
        public static void Main(string[] args)
        {
            string sql = "SELECT * FROM Win32_DiskDrive WHERE InterfaceType = 'USB'";
 
            int result = 0;
 
            using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(sql))
            {
                using (ManagementObjectCollection collection = searcher.Get())
                {
                    foreach (var obj in collection)
                    {
                        Console.WriteLine(String.Format("=========================[{0}]=========================" , result));
                        PropertyDataCollection properties = obj.Properties;
                        foreach (var item in properties)
                            Console.WriteLine(String.Format("[{0}]==>{1}" , item.Name , obj[item.Name]));
 
                        result++;
                    }
                }
            }
        }
    }
}