J'ai une application en C # (2.0 fonctionnant sur XP embarqué) qui communique avec un «chien de garde» implémenté en tant que service Windows. Lorsque l'appareil démarre, ce service prend généralement un certain temps à démarrer. Je voudrais vérifier, à partir de mon code, si le service fonctionne. Comment puis-je accomplir cela?
c#
windows-services
watchdog
edosoft
la source
la source
Réponses:
Je suppose que quelque chose comme ça fonctionnerait:
Ajoutez
System.ServiceProcess
à vos références de projet (c'est sur l'onglet .NET).Edit: Il existe également une méthode
sc.WaitforStatus()
qui prend un statut souhaité et un délai d'expiration, jamais utilisé mais cela peut répondre à vos besoins.Modifier: une fois que vous obtenez le statut, pour obtenir à nouveau le statut, vous devrez appeler
sc.Refresh()
abord .Référence: objet ServiceController dans .NET.
la source
Ici, vous obtenez tous les services disponibles et leur état dans votre machine locale.
Vous pouvez comparer votre service avec la propriété service.name dans la boucle et vous obtenez le statut de votre service. Pour plus de détails, consultez le http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx également http://msdn.microsoft.com/en-us/library/microsoft.windows.design .servicemanager (v = contre 90) .aspx
la source