Как я могу получить путь к исполняемому файлу конкретной службы Windows из другой программы? К сожалению, класс ServiceController (System.ServiceProcess) не предоставляет для этого метода или свойства!
Путь к исполняемому файлу службы Windows
Ответ 1
Всегда существует класс 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('"');
}
}
Ответ 2
Вы можете получить их здесь, используя реестр в HKLM:
System\CurrentControlSet\Services\Service
Найдите значение ImagePath.