半斤八两的程序员

.net默默无语的追随者.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#下用WMI查询系统信息

Posted on 2009-03-22 16:02  炸弹  阅读(1390)  评论(0)    收藏  举报

前几个月吧,为了查询显卡信息,研究了一下,后来就再也没用过了 orz

先引用System.Management命名空间

1 using System.Management;

 1             SelectQuery sq = new SelectQuery("Win32_VideoController");
 2             ManagementObjectSearcher mos = new ManagementObjectSearcher(sq);
 3             ManagementObjectCollection moc = mos.Get();
 4             foreach (ManagementObject mo in moc)
 5             {
 6                 foreach (PropertyData pd in mo.Properties)
 7                 {
 8                     textBox1.AppendText(pd.Name + ":" + pd.Value + "\n");//把结果放到textbox里面
 9                 }
10             }
11             moc.Dispose();
12             mos.Dispose();
13             sq = null;
看起来很简单,是吧?信息还蛮丰富的呢,这个是Win32_VideoController的内容,下面是一个枚举,包含了硬件和操作系统的wmipath

 1    public enum WMIPath
 2         {
 3             // 硬件 
 4             Win32_Processor, // CPU 处理器 
 5             Win32_PhysicalMemory, // 物理内存条 
 6             Win32_Keyboard, // 键盘 
 7             Win32_PointingDevice, // 点输入设备,包括鼠标。 
 8             Win32_FloppyDrive, // 软盘驱动器 
 9             Win32_DiskDrive, // 硬盘驱动器 
10             Win32_CDROMDrive, // 光盘驱动器 
11             Win32_BaseBoard, // 主板 
12             Win32_BIOS, // BIOS 芯片 
13             Win32_ParallelPort, // 并口 
14             Win32_SerialPort, // 串口 
15             Win32_SerialPortConfiguration, // 串口配置 
16             Win32_SoundDevice, // 多媒体设置,一般指声卡。 
17             Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP) 
18             Win32_USBController, // USB 控制器 
19             Win32_NetworkAdapter, // 网络适配器 
20             Win32_NetworkAdapterConfiguration, // 网络适配器设置 
21             Win32_Printer, // 打印机 
22             Win32_PrinterConfiguration, // 打印机设置 
23             Win32_PrintJob, // 打印机任务 
24             Win32_TCPIPPrinterPort, // 打印机端口 
25             Win32_POTSModem, // MODEM 
26             Win32_POTSModemToSerialPort, // MODEM 端口 
27             Win32_DesktopMonitor, // 显示器 
28             Win32_DisplayConfiguration, // 显卡 
29             Win32_DisplayControllerConfiguration, // 显卡设置 
30             Win32_VideoController, // 显卡细节。 
31             Win32_VideoSettings, // 显卡支持的显示模式。 
32 
33             // 操作系统 
34             Win32_TimeZone, // 时区 
35             Win32_SystemDriver, // 驱动程序 
36             Win32_DiskPartition, // 磁盘分区 
37             Win32_LogicalDisk, // 逻辑磁盘 
38             Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。 
39             Win32_LogicalMemoryConfiguration, // 逻辑内存配置 
40             Win32_PageFile, // 系统页文件信息 
41             Win32_PageFileSetting, // 页文件设置 
42             Win32_BootConfiguration, // 系统启动配置 
43             Win32_ComputerSystem, // 计算机信息简要 
44             Win32_OperatingSystem, // 操作系统信息 
45             Win32_StartupCommand, // 系统自动启动程序 
46             Win32_Service, // 系统安装的服务 
47             Win32_Group, // 系统管理组 
48             Win32_GroupUser, // 系统组帐号 
49             Win32_UserAccount, // 用户帐号 
50             Win32_Process, // 系统进程 
51             Win32_Thread, // 系统线程 
52             Win32_Share, // 共享 
53             Win32_NetworkClient, // 已安装的网络客户端 
54             Win32_NetworkProtocol, // 已安装的网络协议 
55         }
更多详细的就到msdn上查吧,地址在这:http://msdn.microsoft.com/en-us/library/aa394084(VS.85).aspx 

風之谷