要使用C#读取WMI的ManagementObject集合,您可以按照以下步骤进行操作:
引用System.Management命名空间:using System.Management;创建一个ManagementObjectSearcher对象并设置查询条件。例如,如果要查询所有的磁盘驱动器,可以使用以下代码:ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk");执行查询并获取结果集:ManagementObjectCollection collection = searcher.Get();遍历结果集并访问每个ManagementObject对象的属性:foreach (ManagementObject obj in collection){// 访问对象的属性string name = obj["Name"].ToString();string size = obj["Size"].ToString();// ...}完整的示例代码如下所示:
using System;using System.Management;namespace WmiExample{class Program{static void Main(string[] args){try{// 创建一个ManagementObjectSearcher对象并设置查询条件ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk");// 执行查询并获取结果集ManagementObjectCollection collection = searcher.Get();// 遍历结果集并访问每个ManagementObject对象的属性foreach (ManagementObject obj in collection){string name = obj["Name"].ToString();string size = obj["Size"].ToString();Console.WriteLine($"驱动器名称:{name},大小:{size}");}}catch (Exception e){Console.WriteLine($"发生错误:{e.Message}");}Console.ReadLine();}}}此示例将查询所有的磁盘驱动器并打印出其名称和大小。您可以根据您的需求修改查询条件和访问的属性。