温馨提示×

C#中ManagementObjectSearcher怎么用

c#
小亿
189
2023-10-22 06:53:07
栏目: 编程语言

在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类。

0