Maison >développement back-end >C++ >Comment puis-je vérifier l'état d'un service Windows à partir d'une application C# ?

Comment puis-je vérifier l'état d'un service Windows à partir d'une application C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-04 13:20:39797parcourir

How Can I Check the Status of a Windows Service from a C# Application?

Vérification de l'état d'un service Windows à partir d'une application C#

Dans une application C# exécutée sur Windows XP Embedded, vous devrez peut-être déterminer si un Windows spécifique Le service est actuellement actif. Ceci est particulièrement utile lorsque votre application repose sur la communication avec un chien de garde implémenté en tant que service Windows. Pour y parvenir, envisagez les techniques suivantes :

Utilisation de l'espace de noms System.ServiceProcess :

Incluez l'espace de noms System.ServiceProcess dans votre application et utilisez la classe ServiceController pour interagir avec les services Windows.

using System.ServiceProcess;

ServiceController sc = new ServiceController(serviceName);

Vérification du service Statut :

Obtenez l'état actuel du service à l'aide de la propriété Status du ServiceController. Les valeurs possibles inclure :

  • En cours d'exécution
  • Arrêté
  • En pause
  • StopPendi ng
  • Démarrer en attente
  • Changement de statut
switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        // Service is running
        break;
    // Handle other status values here...
}

Actualisation le Status :

Pour obtenir le dernier statut du service, appelez la méthode Refresh() sur le ServiceController avant de vérifier la propriété Status.

Remarque : La méthode WaitforStatus() de la classe ServiceController vous permet d'attendre un statut spécifique dans un délai d'attente spécifié. Cette technique peut être bénéfique dans certains scénarios.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn