Consultando se um Serviço do Windows está desativado (sem usar o Registro)?

Existe um método .NET (C #) ou chamada de API que eu possa usar para consultar se um serviço do Windows está desabilitado? O artigo do MSDN relevanteé aqui.

Eu quero evitar consultar o registro diretamente. Abaixo estão alguns dos códigos que estou usando agora (e funciona). No entanto, estou à procura de algo mais elegante e 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>

Eu encontrei umpergunta simliar mas eu estava esperando por uma resposta melhor, já que as respostas estão supostamente desatualizadas (3 anos se passaram).

questionAnswers(6)

yourAnswerToTheQuestion