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