Maison > développement back-end > C++ > Comment puis-je vérifier si un service Windows s'exécute en utilisant C# ?

Comment puis-je vérifier si un service Windows s'exécute en utilisant C# ?

Barbara Streisand
Libérer: 2025-01-01 07:34:11
original
649 Les gens l'ont consulté

How Can I Check if a Windows Service is Running Using C#?

Vérification de l'état d'un service Windows en C#

Dans une application qui communique avec un service Windows, il est crucial de déterminer si le service est en cours d’exécution avant d’initier la communication. Voici comment y parvenir en C# :

  1. Ajouter l'espace de noms System.ServiceProcess :
    Inclure using System.ServiceProcess ; dans votre projet pour accéder à l'objet ServiceController nécessaire.
  2. Créez une instance de ServiceController :
    Instancier un objet ServiceController spécifiant le nom du service que vous souhaitez vérifier (par exemple, ServiceController sc = new ServiceController(SERVICENAME);).
  3. Récupérer le service Status :
    La propriété Status du ServiceController fournit l'état actuel du service. Accédez-y pour déterminer si le service est en cours d'exécution.
  4. Interpréter la valeur Status :
    La propriété Status peut renvoyer différentes valeurs, chacune correspondant à un état spécifique du service :

    • ServiceControllerStatus.Running
    • ServiceControllerStatus.Stopped
    • ServiceControllerStatus.Paused
    • ServiceC ontrollerStatus.StopPending
    • ServiceControllerStatus.StartPending
    • ServiceControllerStatus.StatusChanging
  5. Actualiser le statut (facultatif) :
    Si vous devez récupérer à nouveau le statut, appelez sc.Refresh() avant d'accéder à nouveau à la propriété Status.

Conseils :

  • Le ServiceController fournit également une méthode WaitforStatus() qui permet d'attendre un statut spécifique et timeout.
  • Vous pouvez personnaliser la gestion des erreurs pour différentes valeurs d'état si nécessaire.
  • Reportez-vous à la documentation Microsoft pour des informations plus détaillées sur l'objet ServiceController.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal