Windows services 正在确定Windows中服务的ServiceType?

Windows services 正在确定Windows中服务的ServiceType?,windows-services,Windows Services,Windows中是否内置了任何实用程序或功能来确定计算机上安装的服务的可用性?如果您使用的是.NET,请查看该类。我已经用它来启动和停止我的服务,但是您显然可以用它来检索本地机器上的所有服务,包括设备驱动程序服务。以下是一个基于MSDN的示例: var services = new List<ServiceController>(); // Get all the device driver services. services.AddRange(ServiceController

Windows中是否内置了任何实用程序或功能来确定计算机上安装的服务的可用性?

如果您使用的是.NET,请查看该类。我已经用它来启动和停止我的服务,但是您显然可以用它来检索本地机器上的所有服务,包括设备驱动程序服务。以下是一个基于MSDN的示例:

var services = new List<ServiceController>();

// Get all the device driver services.
services.AddRange(ServiceController.GetDevices());

// Get all the non-device driver services.
services.AddRange(ServiceController.GetServices());

int numAdapter = 0,
    numFileSystem = 0, 
    numInteractive = 0,
    numKernel = 0, 
    numRecognizer = 0,
    numWin32Own = 0,
    numWin32Share = 0;

// Iterate over the list to determine the number of each `ServiceType`.
foreach (var service in services)
{
    if ((service.ServiceType & ServiceType.Adapter) != 0)
    {
        numAdapter++;
    } 
    if ((service.ServiceType & ServiceType.FileSystemDriver) != 0)
    {
        numFileSystem++;
    }
    if ((service.ServiceType & ServiceType.InteractiveProcess != 0)
    {
        numInteractive++;
    }
    if ((service.ServiceType & ServiceType.KernelDriver) != 0)
    {
        numKernel++;
    } 
    if ((service.ServiceType & ServiceType.RecognizerDriver) != 0)
    {
        numRecognizer++;
    }
    if ((service.ServiceType & ServiceType.Win32OwnProcess) != 0)
    {
        numWin32Own++;
    }
    if ((service.ServiceType & ServiceType.Win32ShareProcess) != 0)
    {
        numWin32Share++;
    }
}

当然,首先是QueryServiceConfig、sc.exe和服务管理工具。