C# 获取windows服务
时间: 2023-10-19 19:25:48 浏览: 70
C#获取Windows系统服务信息
要获取 Windows 服务的信息,可以使用 System.ServiceProcess 命名空间中的 ServiceController 类。以下是一个示例代码,演示如何获取服务的状态和其它相关信息:
```csharp
using System;
using System.ServiceProcess;
class Program
{
static void Main()
{
// 获取指定名称的服务
string serviceName = "MyService";
ServiceController service = new ServiceController(serviceName);
try
{
// 输出服务的状态
Console.WriteLine($"Service Name: {service.ServiceName}");
Console.WriteLine($"Display Name: {service.DisplayName}");
Console.WriteLine($"Status: {service.Status}");
// 输出服务的描述
using (ManagementObject wmiService = new ManagementObject(new ManagementPath($"Win32_Service.Name='{service.ServiceName}'")))
{
wmiService.Get();
Console.WriteLine($"Description: {wmiService["Description"]}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
请替换 `serviceName` 变量为你要获取的服务的名称。运行这段代码时,将输出服务的名称、显示名称、状态和描述信息。
需要注意的是,你需要以管理员权限运行此代码,以便访问服务控制器。
阅读全文