Heim > Backend-Entwicklung > C++ > Wie kann ich den Status eines Windows-Dienstes mit C# überprüfen?

Wie kann ich den Status eines Windows-Dienstes mit C# überprüfen?

Linda Hamilton
Freigeben: 2024-12-30 21:23:16
Original
495 Leute haben es durchsucht

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

Überprüfen des Status eines Windows-Dienstes mit C#

In Ihrer Anwendung müssen Sie überprüfen, ob ein bestimmter Windows-Dienst ausgeführt wird. Um diese Aufgabe zu erfüllen, führen Sie die folgenden Schritte aus:

Implementieren der Verifizierungslogik

  1. Fügen Sie einen Verweis auf den Namespace System.ServiceProcess hinzu Ihr Projekt.
  2. Erstellen Sie eine Instanz der Klasse ServiceController, Geben Sie den Namen des Dienstes an, den Sie überprüfen möchten (z. B. ServiceController sc = new ServiceController("ServiceName");).
  3. Verwenden Sie die Eigenschaft Status, um den aktuellen Status des Dienstes zu ermitteln .

Mögliche Servicestatus

Die Die Eigenschaft Status kann einen der folgenden Werte zurückgeben:

  • ServiceControllerStatus.Running: Der Dienst wird ausgeführt.
  • ServiceControllerStatus .Gestoppt: Der Dienst ist gestoppt.
  • ServiceControllerStatus.Paused: Der Dienst ist angehalten.
  • ServiceControllerStatus.StopPending: Der Dienst wird gerade gestoppt.
  • ServiceControllerStatus.StartPending: Der Dienst wird gerade ausgeführt beginnt.
  • ServiceControllerStatus.StatusChanging: Der Dienst ändert seinen Status.

Beispielcode

Das Folgende Das Codebeispiel zeigt, wie der Status eines Dienstes überprüft und ein entsprechender Status zurückgegeben wird Antwort:

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";
}
Nach dem Login kopieren

Zusätzliche Hinweise

  • Um den Status zu aktualisieren, nachdem Sie Änderungen am Dienst vorgenommen haben, rufen Sie sc.Refresh() auf. Methode.
  • Alternativ können Sie die verwenden sc.WaitForStatus Methode zum Warten auf einen bestimmten Status oder eine Zeitüberschreitungsperiode.

Das obige ist der detaillierte Inhalt vonWie kann ich den Status eines Windows-Dienstes mit C# überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage