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

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

DDD
Freigeben: 2024-12-31 22:08:11
Original
359 Leute haben es durchsucht

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

Überprüfen des Windows-Dienststatus in C#

In einer C#-Anwendung müssen Sie möglicherweise überprüfen, ob ein bestimmter Windows-Dienst ausgeführt wird, insbesondere wenn Es spielt eine entscheidende Rolle für die Funktionalität Ihrer Anwendung. So können Sie dies erreichen:

Verwenden von System.ServiceProcess

Um mit Windows-Diensten zu arbeiten, können Sie den System.ServiceProcess-Namespace verwenden. Fügen Sie es zu Ihren Projektreferenzen unter der Registerkarte „.NET“ hinzu.

using System.ServiceProcess;
Nach dem Login kopieren

ServiceController: Eine Brücke zum Servicestatus

Die ServiceController-Klasse dient als Brücke zwischen Ihrem Code und der Windows-Dienst. Um eine Instanz zu erstellen, übergeben Sie den Namen des Dienstes, an dem Sie interessiert sind.

ServiceController sc = new ServiceController(SERVICENAME);
Nach dem Login kopieren

Bestimmen des Dienststatus

Die Status-Eigenschaft des ServiceController-Objekts stellt den bereit aktueller Stand des Dienstes. Sie können eine Switch-Anweisung verwenden, um verschiedene Status zu verarbeiten:

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

Tipps:

  • Verwenden Sie sc.Refresh(), um den neuesten Status vor jedem abzurufen prüfen.
  • Die Methode sc.WaitforStatus() kann innerhalb eines Timeouts auf das Eintreten eines bestimmten Status warten Zeitraum.
  • Weitere Informationen zu ServiceController finden Sie in der Microsoft-Dokumentation: https://docs.microsoft.com/en-us/dotnet/api/system.serviceprocess.servicecontroller?view=netframework-4.8

Das obige ist der detaillierte Inhalt vonWie kann ich den Status eines Windows-Dienstes in 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage