我使用以下代码来获取服务的路径......
string ServicePath = string.Format("Win32_Service.Name=\"{0}\"", "MyService");
var WMiObject = new ManagementObject(ServicePath);
string PathName = (string)WMiObject.GetPropertyValue("PathName");
现在如果服务不可用,则调用wmiObject.getPropertyValue(“PathName”) 将抛出ManagementException ..
在我的情况下,如果服务不可用,我需要分配HardCoded路径。 如何实现? 请指导......
答案 0 :(得分:2)
string Name = "MyService";
ServiceController service = ServiceController
.GetServices()
.Where(s => s.ServiceName == Name).FirstOrDefault();
if(null != service)
{
// service exists
}
答案 1 :(得分:0)
您可以在WMiObject.GetPropertyValue调用周围使用try块,并在catch块中分配常量值。
string PathName;
try
{
PathName = (string)WMiObject.GetPropertyValue("PathName");
}
catch (ManagementException)
{
PathName = "my constant path value";
}