enumerate windows services
Published: 12. February 2012 | Updated: 12. February 2012License: Microsoft Public License (MS-PL)
Categories: Windows » Services
Tags: C# Services Windows WMI
Import namespaces
using System; using System.Collections.Generic; using System.Management; // requires adding System.Management reference to project
Code
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Service"); ManagementObjectCollection collection = searcher.Get(); var items = new List<Win32_Service>(); foreach (ManagementObject obj in collection) { var item = new Win32_Service(); item.AcceptPause = (bool?)obj["AcceptPause"]; item.AcceptStop = (bool?)obj["AcceptStop"]; item.Caption = (string)obj["Caption"]; item.CheckPoint = (uint?)obj["CheckPoint"]; item.CreationClassName = (string)obj["CreationClassName"]; item.Description = (string)obj["Description"]; item.DesktopInteract = (bool?)obj["DesktopInteract"]; item.DisplayName = (string)obj["DisplayName"]; item.ErrorControl = (string)obj["ErrorControl"]; item.ExitCode = (uint?)obj["ExitCode"]; item.InstallDate = (DateTime?)obj["InstallDate"]; item.Name = (string)obj["Name"]; item.PathName = (string)obj["PathName"]; item.ProcessId = (uint?)obj["ProcessId"]; item.ServiceSpecificExitCode = (uint?)obj["ServiceSpecificExitCode"]; item.ServiceType = (string)obj["ServiceType"]; item.Started = (bool?)obj["Started"]; item.StartMode = (string)obj["StartMode"]; item.StartName = (string)obj["StartName"]; item.State = (string)obj["State"]; item.Status = (string)obj["Status"]; item.SystemCreationClassName = (string)obj["SystemCreationClassName"]; item.SystemName = (string)obj["SystemName"]; item.TagId = (uint?)obj["TagId"]; item.WaitHint = (uint?)obj["WaitHint"]; items.Add(item); }
Class
public class Win32_Service { public bool? AcceptPause; public bool? AcceptStop; public string Caption; public uint? CheckPoint; public string CreationClassName; public string Description; public bool? DesktopInteract; public string DisplayName; public string ErrorControl; public uint? ExitCode; public DateTime? InstallDate; public string Name; public string PathName; public uint? ProcessId; public uint? ServiceSpecificExitCode; public string ServiceType; public bool? Started; public string StartMode; public string StartName; public string State; public string Status; public string SystemCreationClassName; public string SystemName; public uint? TagId; public uint? WaitHint; }
| Send us feedback about this snippet » |





