2009-11-21 32 views
2

我正在尋找一種很好的方法來查找特定Windows服務的進程ID。我們如何找到正在運行的Windows服務的進程ID?

特別是,我需要找到Windows附帶的默認「WebClient」服務的pid。它在svchost.exe進程中作爲「本地服務」託管。我看到,當我使用netstat來查看哪些進程正在使用哪個端口時,它在進程名稱下列出[WebClient],所以我希望有一些(相對)簡單的機制來找到這些信息。

回答

5

QueryServiceStatusEx返回一個SERVICE_STATUS_PROCESS,其中包含運行服務的進程的進程標識符。

您可以使用OpenService從其名稱獲取服務的句柄。

+0

謝謝,像一個魅力工作。不過,我認爲它應該是OpenService而不是CreateService來獲取句柄。 – Gerald 2009-11-21 01:14:43

+0

沒問題;你對OpenService是正確的;我修正了這個問題。 – 2009-11-21 01:25:29

相關問題