Listar Servicios de Windows con .Net

Bueno una función que nos puede ayudar en determinado momento es listar los servicios activos de Windows un ejemplo sencillo de como hacerlo es hacer usando System.Serviceprocess (NO olvides agregarlo como referencia al proyecto):

Imports System
Imports System.ServiceProcess

Class Program
Private Shared Sub Main()
Dim services As ServiceController() = ServiceController.GetServices()

Console.WriteLine("Listado de los servicios corriendo : ")
For Each service As ServiceController In services
If service.Status = ServiceControllerStatus.Running Then 'cambiar por ServiceControllerStatus.Stopped para ver inactivos
Console.WriteLine()
Console.WriteLine(" Nombre de servicio: {0}", service.ServiceName)
Console.WriteLine(" Nombre mostrado: {0}", service.DisplayName)
End If
Next
End Sub
End Class 

y en c# sería así.


using System;
using System.ServiceProcess;

class Program
{
static void Main()
{
ServiceController[] services = ServiceController.GetServices();

Console.WriteLine("Listado de los servicios corriendo : ");
foreach (ServiceController service in services)
{
if (service.Status == ServiceControllerStatus.Running) //cambiar por ServiceControllerStatus.Stopped para ver inactivos
{
Console.WriteLine();
Console.WriteLine(" Nombre de servicio: {0}",
service.ServiceName);
Console.WriteLine(" Nombre mostrado: {0}",
service.DisplayName);
}
}
}
}

para saber los procesos que están inactivos usamos la siguiente propiedad.
ServiceControllerStatus.Stopped.

un buen truco espero les sirva.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>