Esiste un metodo .NET (C#) o una chiamata API che posso utilizzare per interrogare se un servizio di Windows è disabilitato? L'articolo MSDN pertinente is here.Si interroga se un servizio di Windows è disabilitato (senza utilizzare il registro)?
Voglio evitare di interrogare direttamente il registro. Di seguito è riportato parte del codice che sto usando in questo momento (e funziona). Comunque sto cercando qualcosa di più elegante e meno invasivo.
const String basepathStr = @"System\CurrentControlSet\services\";
String subKeyStr = basepathStr + servicenameStr;
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(subKeyStr))
{
return (int) key.GetValue("Start");
}
Ho trovato un simliar question ma speravo in una risposta migliore dal momento che le risposte sono presumibilmente obsoleti (sono passati 3 anni).
sono il vostro riferimento a questo: http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontrollerstatus.aspx? Se è così, questo mi dice tutto MA se il servizio è disabilitato ... –
Come ho scritto nel mio Edit, sì, mi riferisco a quella classe, ma mi riferisco anche a un post sul blog aggiuntivo che ha informazioni su come usa il 'ServiceController' insieme ad alcune chiamate native per ottenere ciò che vuoi senza accedere al registro. –