我想这样的事情会起作用:
添加
System.ServiceProcess到项目引用中(位于.NET选项卡上)。
using System.ServiceProcess;ServiceController sc = new ServiceController(SERVICENAME);switch (sc.Status){ case ServiceControllerStatus.Running: return "Running"; case ServiceControllerStatus.Stopped: return "Stopped"; case ServiceControllerStatus.Paused: return "Paused"; case ServiceControllerStatus.StopPending: return "Stopping"; case ServiceControllerStatus.StartPending: return "Starting"; default: return "Status Changing";}编辑:还有一种方法
sc.WaitforStatus()具有所需的状态和超时,从未使用过,但它可能满足您的需求。
编辑:一旦获得状态,要再次获得状态,您将需要先致电
sc.Refresh()。
参考:.NET中的ServiceController对象。



