本文告诉大家如何通过 WMI 获取系统启动的服务
通过 Win32_Service 可以获取系统启动的服务
获取的时候只需要拿Caption和State就可以
var mc = "Win32_Service"; var managementObject = new[] { "Caption", //"CreationClassName", //"Description", //"DisplayName", //"ErrorControl", //"Name", //"PathName", //"ServiceType", //"StartMode", // 是否开机启动 //"StartName", "State", // 是否在运行 //"Status", //"SystemCreationClassName", //"SystemName", }; ManagementClass managementClass = new ManagementClass(mc); ManagementObjectCollection managementObjectCollection = managementClass.GetInstances(); var str = new StringBuilder();
foreach (ManagementObject m in managementObjectCollection) { foreach (var temp in managementObject) { try { str.Append(temp); str.Append(" "); str.Append(m[temp]?.ToString() ?? ""); str.Append("\n"); } catch (Exception e) { Console.WriteLine(temp + " " + e); } }
str.Append("\n"); }
return str.ToString();
输出 str 的内容
Caption : Apple Mobile Device ServiceState : Running
Caption : iPod 服务State : Running
上面只是输出的一点,因为服务是很多
Win32_Service class - Windows applications

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。