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

Wie kann ich den Status eines Windows-Dienstes von einer C#-Anwendung aus überprüfen?

Susan Sarandon
Susan SarandonOriginal
2025-01-04 13:20:39758Durchsuche

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

Überprüfen des Status eines Windows-Dienstes aus einer C#-Anwendung

In einer C#-Anwendung, die unter Windows XP Embedded ausgeführt wird, müssen Sie möglicherweise feststellen, ob ein bestimmtes Windows Der Dienst ist derzeit aktiv. Dies ist besonders nützlich, wenn Ihre Anwendung auf die Kommunikation mit einem als Windows-Dienst implementierten Watchdog angewiesen ist. Um dies zu erreichen, ziehen Sie die folgenden Techniken in Betracht:

Verwendung des System.ServiceProcess-Namespace:

Fügen Sie den System.ServiceProcess-Namespace in Ihre Anwendung ein und nutzen Sie die ServiceController-Klasse für die Interaktion mit Windows-Diensten.

using System.ServiceProcess;

ServiceController sc = new ServiceController(serviceName);

Überprüfen des Dienstes Status:

Erhalten Sie den aktuellen Status des Dienstes mithilfe der Status-Eigenschaft des ServiceControllers. Die möglichen Werte umfassen:

  • Läuft
  • Gestoppt
  • Pause
  • StopPendi ng
  • StartPending
  • StatusChanging
switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        // Service is running
        break;
    // Handle other status values here...
}

Refreshing der Status:

Um den neuesten Status des Dienstes zu erhalten, rufen Sie die Refresh()-Methode auf dem ServiceController auf, bevor Sie die Status-Eigenschaft überprüfen.

Hinweis: Mit der WaitforStatus()-Methode in der ServiceController-Klasse können Sie innerhalb eines bestimmten Timeout-Zeitraums auf einen bestimmten Status warten. Diese Technik kann in bestimmten Szenarien von Vorteil sein.

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

Stellungnahme:
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