Как узнать ServiceName службы по ее исполняемому файлу? Т.е. знаю только полный путь файла службы (например: "c:\Temp\WindowsService.exe"). Не знаю установлена служба или нет.
using System.Management;
private string getServiceName(string servicePath)
{
string result = null;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Service");
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject obj in collection)
{
string name = obj["Name"] as string;
string pathName = obj["PathName"] as string;
if (pathName != null && pathName.Contains(servicePath))
{
result = name;
break;
}
}
return result;
}
Посмотрите здесь
Сборка персонального компьютера от Artline: умный выбор для современных пользователей