Windows服务可执行文件的路径

时间:2010-06-18 16:01:11

标签: c# .net windows-services

如何从其他程序获取特定Windows服务的可执行文件的路径? 不幸的是,ServiceController类(System.ServiceProcess)没有为它提供方法或属性!

2 个答案:

答案 0 :(得分:18)

总是有here所述的WMI课程Win32_Service,特别是PathName

这有效:

ManagementClass mc = new ManagementClass("Win32_Service");
foreach(ManagementObject mo in mc.GetInstances())
{
    if(mo.GetPropertyValue("Name").ToString() == "<Short name of your service>")
    {
        return mo.GetPropertyValue("PathName").ToString().Trim('"');
    }
}

答案 1 :(得分:6)

您可以使用HKLM中的注册表从这里获取它们:

 System\CurrentControlSet\Services\Service

查找ImagePath值。