我创建了一个程序来检查是否有任何服务被停止。
但如果我禁用该服务并尝试启动服务,则会发生异常。
如何检查服务是否可以启动或状态是否已禁用?
我正在使用ServiceController类。
代码:
ServiceController service = new ServiceController("serviceName");
if (!service.Status.Equals(ServiceControllerStatus.Running))
service.Start();
答案 0 :(得分:1)
要确定是否可以启动服务,请使用以下
ServiceController svc = new ServiceController("serviceName");
if ((svc.Status.Equals(ServiceControllerStatus.Stopped)) ||
(svc.Status.Equals(ServiceControllerStatus.StopPending)))
{
try
{
svc.Start();
}
catch(Exception ex)
{
//log, abort, drink beer, etc
}
}
检查除running
以外的任何内容是有问题的b / c还有其他需要考虑的状态。
检查服务是否被禁用涉及更多。查看this SO post。