Windows サービスが無効になっているかどうかを照会するために使用できる .NET (C#) メソッドまたは API 呼び出しはありますか? 関連する MSDN の記事はこちらです。
レジストリに直接クエリを実行することは避けたいです。以下は、私が現在使用しているコードの一部です (そして動作します)。ただし、よりエレガントで侵襲性の低いものを探しています。
const String basepathStr = @"System\CurrentControlSet\services\";
String subKeyStr = basepathStr + servicenameStr;
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(subKeyStr))
{
return (int) key.GetValue("Start");
}
私は同様の質問を見つけましたが、回答がおそらく時代遅れであるため(3年が経過しました)、より良い回答を望んでいました。