Function ServiceState(strServiceName) 'Returns "Running", "Stopped", "Starting", "Stopping", or "" Dim objWMI, colServices, objService, strState, strStartMode On Error Resume Next Err.Clear Set objWMI = GetObject("winmgmts:\\.\root\CIMV2") Set colServices = objWMI.ExecQuery("SELECT * FROM Win32_Service WHERE NAME='" & strServiceName & "'", "WQL", 48) For Each objService In colServices strState = objService.State Next If Err.Number <> 0 Then ServiceState = "" 'Return empty string on WMI failure Else ServiceState = strState End If Set objWMI = Nothing End Function