Interroger si un Service Windows est désactivé (sans l'aide de la base de Registre)?
Est-il .NET (C#), la méthode ou les appels de l'API que je peux utiliser pour interroger si un Service Windows est désactivé? Pertinentes de l'article MSDN est ici.
Je veux éviter d'interroger directement le registre. Ci-dessous est une partie du code que j'utilise en ce moment (et ça marche). Cependant, je suis à la recherche de quelque chose de plus élégant et moins invasive.
const String basepathStr = @"System\CurrentControlSet\services\";
String subKeyStr = basepathStr + servicenameStr;
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(subKeyStr))
{
return (int) key.GetValue("Start");
}
J'ai trouvé un ) des nouvelles question mais je m'attendais à une meilleure réponse puisque les réponses sont probablement obsolètes (3 ans ont passé).
Vous devez vous connecter pour publier un commentaire.
De l'article pertinent du code, j'ai décidé de l'utiliser...merci pour l'aide de tous!
Utiliser le
ServiceController
classe pour obtenir des informations sur les services.MODIFIER
Semble une des choses que vous ne pouvez pas faire avec la
ServiceController
est d'obtenir le type de démarrage. Google a montré le blog suivant qui a un code qui utilise les P/Invoke pour obtenir le type de démarrage du service: http://peterkellyonline.blogspot.de/2011/04/configuring-windows-service.htmlServiceController
avec quelques appels natifs pour obtenir ce que vous voulez, sans accéder à la base de registre.WMI peut être un autre moyen pour l'interrogation de l'état des services windows
Ajouter une référence à System.La gestion et le code suivant, vous obtiendrez la StartMode
YourServiceName
peut être installé?ServiceModel
, le code ci-dessus se bloque toujours quand je l'ai essayer et de réitérerresults
.ServiceController classe ne fournit pas cette information. Vous devez utiliser WMI. Voir ici pour une solution détaillée
Vous pouvez utiliser:
Et puis lier le service que vous souhaitez afficher les satus par:
À vérifier, par exemple, la isRunning Statut :