Vemos los pasos a realizar:
- Añadir la referencia System.ServiceProcess al proyecto
- Crear el objeto ServiceController capturando el servicio deseado
- Comprobar el estado: ¿Existe el servicio? ¿Está parado/arrancado?
- Realizar acción sobre el servicio: Parar/Arrancar
- Esperar el resultado y cerrar el objeto ServiceController
Vemos un ejemplo de cómo detener un servicio:
Vemos ahora un ejemplo de cómo iniciar un servicio:
Comentarios:
Analizando un poco el código de estos dos ejemplos, podemos realizar las siguientes observaciones:
- Se crea el objeto de control pasandole el nombre del servicio con el que queremos operar
- Se comprueba el estado del servicio (si se pudo cargar, está parado, etc)
- Se arranca o para el servicio
- Se espera a que esté arrancado o parado
- Se cierra el objeto de control
Ver la documentación de la clase ServiceController en la web MSDN