¿Consultando si un servicio de Windows está deshabilitado (sin usar el registro)?

¿Existe un método .NET (C #) o una llamada a la API que pueda usar para consultar si un servicio de Windows está deshabilitado? El artículo relevante de MSDNes aquí.

Quiero evitar consultar directamente el registro. 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.

<code>const String basepathStr = @"System\CurrentControlSet\services\";
String subKeyStr = basepathStr + servicenameStr;

using (RegistryKey key = Registry.LocalMachine.OpenSubKey(subKeyStr))
{
    return (int) key.GetValue("Start");
}
</code>

Encontré unpregunta similar pero esperaba una mejor respuesta ya que las respuestas están probablemente obsoletas (han pasado 3 años).

Respuestas a la pregunta(6)

Su respuesta a la pregunta