Retrieve The Status of a Windows Service

Here is an easy way to get the status of a Windows service.

Public Function ServiceStatus(serviceName As String) As 
    Dim service As ServiceController = LoadService(serviceName)
    If service IsNot Nothing Then
        Return service.Status
        Throw New InvalidOperationException("Service not  found.")
    End If
End Function
Private Function LoadService(serviceName As String) As 
    Return ServiceController.GetServices().Where(Function(p)
    p.ServiceName = serviceName).FirstOrDefault()
End Function

Here are the values for service status:

  • ContinuePending
  • Paused
  • PausePending
  • Running
  • StartPending
  • Stopped
  • StopPending

This and lost  more code can be found in the dotNetTips.Utility open source project.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s