使用下面的WMI查询我能够得到所有服务的名称上运行的所有服务的名称,如何获得,根据“中svchost.exe”进程
ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_Service ")
而且,当我在命令提示符下运行以下命令,它会给所有的进程ID(PID)和服务名称,
tasklist /svc /fi "imagename eq svchost.exe"
我想WMI/C#的方式找到所有这下“的svchost.exe”进程中运行的服务?
除了WMI还有其他方法吗?
我认为你正在寻找一个比较难看的解决方案,基本上你最终使用电话(非托管)的DLL PInvoke的。我认为你需要的ABI参考是在https://msdn.microsoft.com/en-us/library/aa394418(v=vs.85).aspx。它可能会减少调用一个麻烦PowerShell脚本或在后台的东西。 – BurnsBA
更好的问题:你对这些信息做了什么?根据这一点,甚至可能比获得现在获得的更简单/更好的方法。 –