使用下面的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
更好的問題:你對這些信息做了什麼?根據這一點,甚至可能比獲得現在獲得的更簡單/更好的方法。 –