阅读量:6
要使用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(); } } }
此示例将查询所有的磁盘驱动器并打印出其名称和大小。您可以根据您的需求修改查询条件和访问的属性。