System.Diagnostics
имеет функции для запроса запущенных процессов:
Process[] processlist = Process.GetProcesses();
foreach(Process theprocess in processlist){
Console.WriteLine(“Process: {0} ID: {1} File {2}”,
theprocess.ProcessName,
theprocess.Id,
theprocess.MainModule.FileName);
}
Если вы хотите установить установленные службы, а не запускать процессы, вы можете использовать:
ServiceController.GetServices()
из System.ServiceProcess
вы можете получить пути к файлам, используя методологию, описанную здесь: как получить физический путь службы Windows, используя .net?