Pregunta

En VS2008, ¿cómo puedo comprobar si un servicio de Windows que se está ejecutando int lanzar condición?

¿Fue útil?

Solución

Para más detalles sobre cómo comprobar que un servicio se ejecuta en condiciones de inicio, consulte este hilo ,

  

La acción más fiable a medida sería una llamada C ++ DLL insertada antes de la   acción LaunchConditions tanto en la interfaz de usuario y ejecutar secuencias.

     

No es un ejemplo de uno aquí:

     

http://support.microsoft.com/default .aspx scid = kb;? es-;. 253683

     

Su código de acción personalizada puede comprobar si el servicio en ejecución y establecer una propiedad   para los LaunchConditions.

Se puede usar ServiceController.GetServices método para enumerar los servicios que se ejecutan en el equipo local.

ServiceController[] scServices;
scServices = ServiceController.GetServices();

// Display the list of services currently running on this computer.

Console.WriteLine("Services running on the local computer:");
foreach (ServiceController scTemp in scServices)
{
    if (scTemp.Status == ServiceControllerStatus.Running)
    {
        // Write the service name and the display name
        // for each running service.
        Console.WriteLine();
        Console.WriteLine("  Service :        {0}", scTemp.ServiceName);
        Console.WriteLine("    Display name:    {0}", scTemp.DisplayName);
    }
}

Otros consejos

Puede conectarse al servicio de la siguiente manera:

ServiceController sc = new ServiceController("ServiceName");

Puede comprobar si el servicio se está ejecutando comprobando la propiedad "Estado". El estado devuelve un valor (ENUM) de tipo ServiceControllerStatus.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top