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
Genial ;)
ResponderEliminarMuy bueno. Gracias.
ResponderEliminarno sirve
ResponderEliminarClaro que sirve, aunque seguramente no para lo que usted quiere. Tenga en cuenta que cuando se escribió este post el estándar era Windows XP y .NET Framework 2.0. Saludos.
EliminarSi sirve , en Windows 10 y .NET Framework 4.6. Saludos
Eliminarque permisos debe tener el usuario para que pueda ejecutar este codigo en un servidor?
ResponderEliminarSe necesitan permisos de administración, aunque según el caso podría usarse una cuenta de sistema/servicio, aunque esto dependerá de la política de seguridad aplicada en el servidor.
Eliminarme aparece lo siguiente, No se puede abrir el servicio en el equipo '.'.
ResponderEliminarLo mismo me sale a mi, pusiste solucionarlo??
EliminarFunciona perfecto. Con tecnología al 2019. C#. Windows 10. Visual Studio 2019.
ResponderEliminarGracias.
ResponderEliminarhola bro gracias pero una consulta este codigo podra detener el servicio de los AV ?
ResponderEliminar