Comment puis-je vérifier si un Service Windows est en cours d'exécution
J'ai une application en C# (2.0 en cours d'exécution sur XP embedded) qui est en communication avec un "chien de garde" qui est mis en œuvre en tant que Service Windows. Lorsque le périphérique démarre, ce service prend généralement un certain temps à démarrer. Je tiens à le consulter, à partir de mon code, si le service est en cours d'exécution. Comment puis-je y arriver?
Vous devez vous connecter pour publier un commentaire.
Je suppose que quelque chose de ce genre:
Ajouter
System.ServiceProcess
à votre projet références (Il est sur le .NET onglet).Edit: Il y a aussi une méthode
sc.WaitforStatus()
qui prend un statut désiré et un délai d'attente, n'a jamais été utilisé, mais il peut s'adapter à vos besoins.Edit: une Fois que vous obtenez le statut, pour obtenir le statut de nouveau, vous aurez besoin de faire appel
sc.Refresh()
premier.Référence: ServiceController objet .NET.
SERVICENAME
serait égale à laServiceName
de propriété sur le programme d'installation utilisée pour le service. Si elle correspond à votre nom de projet, un raccourci facile est de simplement utiliserthis.ServiceName
Jetez un oeil sur le ServiceController objet .NET.
Ici, vous obtenez tous les services disponibles et de leur statut dans votre machine locale.
Vous pouvez Comparer votre service avec le service.nom de la propriété à l'intérieur de la boucle et vous obtenez le statut de votre service.
Pour plus de détails aller avec le http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx
aussi http://msdn.microsoft.com/en-us/library/microsoft.windows.design.servicemanager(v=vs. 90).aspx