Feedback

Prüfen ob ein Dienst gestartet ist

Sprache: VB

Gibt einen boolschen Wert zurück der angibt ob der angegebene Dienst gestartet ist.
'Verweis auf System.ServiceProcess hinzufügen !

Imports system.ServiceProcess

Public Function ServiceAvailable(ByVal Dienst As String) As Boolean
Dim Service As ServiceController = New ServiceController(Dienst)
Return CBool(Service.Status = ServiceProcess.ServiceControllerStatus.Running)
Service.Close()
End Function
'Verweis auf System.ServiceProcess hinzufügen !

Imports system.ServiceProcess

Public Function ServiceAvailable(ByVal Dienst As String) As Boolean
Dim Service As ServiceController = New ServiceController(Dienst)
Return CBool(Service.Status = ServiceProcess.ServiceControllerStatus.Running)
Service.Close()
End Function

3 Kommentare

  1. Hallo ,
    führt denn die Anweisung „Service.Close()“ nicht dazu, dass der Dienst beendet wird?
    ciao
    Elwood

  2. Nein der Dienst wird dadurch nicht beendet es wird nur die erstellte Zugriffsschnittstelle geschlossen wie man es auch bei der Arbeit mit Dateien kennt

  3. Die Return Anweisung beendet die Funktion und Service.Close() wird nie ausgeführt. Hier macht die Using-Direktive Sinn.

    Public Function IsServiceRunning(dienst As String) As Boolean

    Using service As ServiceController = New ServiceController(dienst)
    If service Is Nothing Then Return False

    If service.Status = ServiceControllerStatus.Running Then
    Return True
    Else
    Return False
    End If

    End Using

    End Function