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

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

DDD
Libérer: 2024-12-31 22:08:11
original
358 Les gens l'ont consulté

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

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

Dans une application C#, vous devrez peut-être vérifier si un service Windows particulier est en cours d'exécution, surtout si il joue un rôle crucial dans la fonctionnalité de votre application. Voici comment y parvenir :

Utilisation de System.ServiceProcess

Pour travailler avec les services Windows, vous pouvez utiliser l'espace de noms System.ServiceProcess. Ajoutez-le aux références de votre projet sous l'onglet .NET.

using System.ServiceProcess;
Copier après la connexion

ServiceController : un pont vers l'état du service

La classe ServiceController sert de pont entre votre code et le service Windows. Pour créer une instance, transmettez le nom du service qui vous intéresse.

ServiceController sc = new ServiceController(SERVICENAME);
Copier après la connexion

Détermination de l'état du service

La propriété Status de l'objet ServiceController fournit le état actuel du service. Vous pouvez utiliser une instruction switch pour gérer différents statuts :

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";
}
Copier après la connexion

Conseils :

  • Utilisez sc.Refresh() pour récupérer le dernier statut avant chaque check.
  • La méthode sc.WaitforStatus() peut attendre qu'un état spécifique se produise dans un délai d'attente période.
  • Référez-vous à la documentation Microsoft pour plus d'informations sur ServiceController : https://docs.microsoft.com/en-us/dotnet/api/system.serviceprocess.servicecontroller?view=netframework-4.8

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal