如何在C#中获取所有运行中的服务?

7

如何获取安装在系统上的所有服务及其当前状态的列表?我不是在寻找使用C#中的Process类所用进程的列表,而是在寻找服务列表。

1个回答

11

这里获取以下所有服务的列表(不包括设备驱动程序),请使用静态方法ServiceController.GetServices(要获取驱动程序服务列表,请使用方法ServiceContro­ller.GetDevices)。

ServiceController[] services = ServiceController.GetServices();

您可以按以下方式将所有服务的状态作为字典获取:
ServiceController[] services = ServiceController.GetServices();
var servicesStatus = services.ToDictionary(s => s.ServiceName, s => s.Status);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接