发布时间:2025-12-11 01:06:25 浏览次数:1
在C#中,可以使用ManagementObjectSearcher类来执行WMI(Windows Management Instrumentation)查询。下面是使用ManagementObjectSearcher的一般步骤:
引用命名空间:在代码文件的顶部添加以下引用命名空间:using System.Management;创建查询语句:使用WQL (WMI Query Language) 创建一个查询语句,例如:string query = "select * FROM Win32_Process";创建ManagementObjectSearcher对象:使用查询语句创建一个ManagementObjectSearcher对象,例如:ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);执行查询并获取结果:使用Get()方法执行查询,并通过foreach循环遍历结果:foreach (ManagementObject obj in searcher.Get()){// 处理查询结果}处理查询结果:在foreach循环中,可以使用ManagementObject对象的属性和方法来处理查询结果,例如:string processName = obj["Name"].ToString();string processId = obj["ProcessId"].ToString();完整示例代码如下所示:
using System;using System.Management;namespace WMIExample{class Program{static void Main(string[] args){string query = "select * FROM Win32_Process";ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);foreach (ManagementObject obj in searcher.Get()){string processName = obj["Name"].ToString();string processId = obj["ProcessId"].ToString();Console.WriteLine("Process Name: " + processName);Console.WriteLine("Process ID: " + processId);Console.WriteLine("-------------------------");}Console.ReadLine();}}}上述代码将查询并打印出所有正在运行的进程的名称和进程ID。
请注意,ManagementObjectSearcher类还可以接受其他参数来更精确地过滤查询结果,例如使用WHERE子句限制结果集。有关更多详细信息,请参阅Microsoft文档。