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

Comment puis-je vérifier l'état d'un service Windows à l'aide de C# ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-30 21:23:16494parcourir

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

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

Dans votre application, vous devez vérifier si un service Windows spécifique est en cours d'exécution. Pour accomplir cette tâche, suivez ces étapes :

Implémentation de la logique de vérification

  1. Ajoutez une référence à l'espace de noms System.ServiceProcess à votre projet.
  2. Créez une instance de la classe ServiceController, en spécifiant le nom du service que vous souhaitez vérifier (par exemple, ServiceController sc = new ServiceController("ServiceName");).
  3. Utilisez la propriété Status pour déterminer l'état actuel du service .

Statuts de service possibles

Le La propriété Status peut renvoyer l'une des valeurs suivantes :

  • ServiceControllerStatus.Running : Le service est en cours d'exécution.
  • ServiceControllerStatus .Arrêté : Le service est arrêté.
  • ServiceControllerStatus.Paused : Le service est en pause.
  • ServiceControllerStatus.StopPending : Le service est en train de s'arrêter.
  • ServiceControllerStatus.StartPending : Le service est en le processus de démarrage.
  • ServiceControllerStatus.StatusChanging : Le service change de statut.

Exemple de code

L'exemple de code suivant montre comment vérifier l'état d'un service et renvoyer un message approprié. réponse :

using System.ServiceProcess;

ServiceController sc = new ServiceController(SERVICENAME);

switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        return "Running";
    case ServiceControllerStatus.Stopped:
        return "Stopped";
    case ServiceControllerStatus.Paused:
        return "Paused";
    case ServiceControllerStatus.StopPending:
        return "Stopping";
    case ServiceControllerStatus.StartPending:
        return "Starting";
    default:
        return "Status Changing";
}

Notes supplémentaires

  • Pour mettre à jour le statut après avoir apporté des modifications au service, appelez sc.Refresh() méthode.
  • Vous pouvez également utiliser la méthode Méthode sc.WaitForStatus pour attendre un statut spécifique ou un délai d'attente.

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