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

时间:2013-11-30 12:29:02

标签: c# windows winforms

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

1 个答案:

答案 0 :(得分:5)

来自链接here

  

要获取所有服务(不是设备驱动程序)的列表,请使用静态方法ServiceContro­ller.GetServi­ces(以获取driver services使用方法ServiceContro­ller.GetDevices的列表。)

ServiceController[] services = ServiceController.GetServices();

您可以在字典中获取所有服务的状态,如下所示:

ServiceController[] services = ServiceController.GetServices();
var servicesStatus = services.ToDictionary(s => s.ServiceName, s => s.Status);