阅读量:7
在C#中,您可以使用ManagementObjectSearcher来执行WMI查询。下面是一个简单的示例,展示了如何使用ManagementObjectSearcher来查询Win32_Process类的所有进程:
using System; using System.Management; public class Program { public static void Main(string[] args) { // 创建一个查询对象 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Process"); // 执行查询 ManagementObjectCollection processList = searcher.Get(); // 遍历结果集 foreach (ManagementObject process in processList) { // 获取进程的属性值 string name = (string)process["Name"]; string id = (string)process["ProcessId"]; // 打印进程信息 Console.WriteLine($"Name: {name}, ProcessId: {id}"); } } }
在上面的示例中,我们首先创建了一个ManagementObjectSearcher对象,并传入一个WQL查询语句,用于查询Win32_Process类的所有进程。然后,我们使用Get方法执行查询,并将结果保存在ManagementObjectCollection中。最后,我们使用foreach循环遍历结果集,获取每个进程的属性值,并打印出来。
请注意,您需要在项目中引用System.Management命名空间,以便在代码中使用ManagementObjectSearcher类。