如何验证Windows服务是停止还是正在运行 并等到它处于这种状态?
Dim s As New ServiceController("Aservice")
s.Refresh()
If s.Status = ServiceControllerStatus.Running Then
s.Stop()
End If
s.Refresh()
问题是我想在此功能中等待服务处于该状态... 我怎样才能做到这一点? TNX!
答案 0 :(得分:1)
Dim s As New ServiceController("Aservice")
While s.Status <> ServiceControllerStatus.WhatEverState
Thread.Sleep(1000)
s.Refresh()
End While
答案 1 :(得分:1)
你可以添加一点While循环:
Dim MaxWait = 10
While Not s.Status = ServiceControllerStatus.Stopped
System.Threading.Thread.Sleep(100)
MaxWait = MaxWait - 1
If MaxWait < 1 Then Break
End While
但你必须考虑“如果不停止会怎么样?”