通常情况下,大多数系统服务是以 svchost.exe 为宿主运行的,我们可以通过 powershell 命令快速的定位指定服务所对应的svchost进程:
PS > Get-WmiObject -Class win32_service -Filter "name = '服务名'" | select -exp ProcessId
比如想获取服务名为 'eventlog' 的系统服务所对应的 svchost 的PID,可以执行:
PS > Get-WmiObject -Class win32_service -Filter "name = 'eventlog'" | select -exp ProcessId
用C语言实现为:https://zijieke.com/d/253