public static Service[] GetAllServices()
{
List<Service> list = new List<Service>();
try
{
using (ManagementObjectSearcher objSearcher = new ManagementObjectSearcher("Select * from Win32_Service"))
{
using (ManagementObjectCollection winServices = objSearcher.Get())
{
foreach (ManagementObject service in winServices)
{
Service s = ServiceFromManagementObject(service);
list.Add(s);
}
}
}
}
catch (Exception e)
{
Utils.Trace(e, "Unexpected error searching for all services.");
}
Service[] serviceArray = new Service[list.Count];
list.CopyTo(serviceArray);
return serviceArray;
}