¿Existe un método .NET (C#) o una llamada API que pueda usar para consultar si un servicio de Windows está deshabilitado? El artículo relevante de MSDN is here.¿Pregunta si un servicio de Windows está deshabilitado (sin usar el registro)?
Quiero evitar consultar el registro directamente. A continuación se muestra parte del código que estoy usando en este momento (y funciona). Sin embargo, estoy buscando algo más elegante y menos invasivo.
const String basepathStr = @"System\CurrentControlSet\services\";
String subKeyStr = basepathStr + servicenameStr;
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(subKeyStr))
{
return (int) key.GetValue("Start");
}
Lo que encontrar un simliar question pero yo estaba esperando para una mejor respuesta, ya que las respuestas son supuestamente obsoleta (3 años han pasado).
su está refiriendo a esto: http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontrollerstatus.aspx? Si es así, eso me dice todo PERO si el servicio está deshabilitado ... –
Como escribí en mi Edición, sí, me refiero a esa clase, pero también me refiero a una publicación de blog adicional que contiene información sobre cómo utilice el 'ServiceController' junto con algunas llamadas nativas para obtener lo que desea sin tener que acceder al registro. –