如何验证服务中是否存在服务
本文关键字:服务 是否 存在 验证 何验证 | 更新日期: 2023-09-27 18:34:18
我使用以下代码来获取服务的路径...
string ServicePath = string.Format("Win32_Service.Name='"{0}'"", "MyService");
var WMiObject = new ManagementObject(ServicePath);
string PathName = (string)WMiObject.GetPropertyValue("PathName");
现在,如果该服务不可用,则调用 wmiObject.getPropertyValue("PathName")将抛出管理异常。
就我而言,如果服务不可用,我需要分配硬编码路径。如何实现??请指导...
string Name = "MyService";
ServiceController service = ServiceController
.GetServices()
.Where(s => s.ServiceName == Name).FirstOrDefault();
if(null != service)
{
// service exists
}
您可以在 WMiObject.GetPropertyValue 调用周围使用 try 块,并在 catch 块中分配常量值。
string PathName;
try
{
PathName = (string)WMiObject.GetPropertyValue("PathName");
}
catch (ManagementException)
{
PathName = "my constant path value";
}