【问题标题】:Check if SERVICE is running VBNET检查SERVICE是否正在运行VB NET
【发布时间】:2016-03-05 04:18:34
【问题描述】:

我想知道服务是否正在运行 (VBNET) 以返回 false 或 true 值

我发现了其他问题,但代码对我不起作用..

谢谢!

【问题讨论】:

    标签: vb.net service status


    【解决方案1】:

    使用service controller 类来判断服务是否在运行。

    For Each s As ServiceController In ServiceController.GetServices()
        If s.ServiceName = "yourservicename" AndAlso s.Status = ServiceControllerStatus.Running Then
               Return True
        End If
    Next
    

    希望这会有所帮助。

    【讨论】:

    • Return New ServiceController("your service name").Status = ServiceControllerStatus.Running 会不会更快?它只需要一行。 :)
    • @EnriqueGarcía 不要忘记通过单击问题旁边的勾号将问题标记为已回答 - 这对其他有类似问题的用户在寻找答案时很有帮助 - 它为回答问题的人提供了一些名声。干杯
    • @VisualVincent - 从代码的角度来看它可能更短,但内联创建实例不会导致其Dispose 方法被调用。该实例将四处浮动,直到最终被收集。它应该在Using 块中创建。
    • @ChrisDunaway:在 cmets 中证明这一点有点困难,但是是的。你是对的。
    • 您必须先在 PROJECT 引用中添加对 System.ServiceProcess.dll 的引用,然后添加“Imports System.ServiceProcess”,否则找不到 ServiceController。此外,我在 Next 之后添加了一个 return False,并为“yourservicename”创建了一个带有字符串参数的函数。
    猜你喜欢
    • 2012-08-23
    • 2018-08-13
    • 2021-10-27
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2018-10-12
    相关资源
    最近更新 更多