windows带了一个tasklist的工具
用tasklist /svc可以列出某个进程关联到了哪些服务,能否编程实现这样的功能呢?
或者反过来,怎么通过服务来得到它运行的进程?(不是进程名,是PID,因为像svchost有很多,要通过PID来区别嘛)

解决方案 »

  1.   

    呵呵,问反了
    那么我想得到某个服务的PID,这个可以吧?
      

  2.   

    找了下资料,用wmi实现的:Dim   objSWbemLocator   As   SWbemLocator,objSWbemServices   As   SWbemServices ,objSWbemObjectSet   As   SWbemObjectSetSet   objSWbemLocator   =   CreateObject("WbemScripting.SWbemLocator") 
    Set   objSWbemServices   =   objSWbemLocator.ConnectServer(".",   "root\cimv2" )
    Set   objSWbemObjectSet   =   objSWbemServices.ExecQuery("SELECT   *   FROM   Win32_Service")然后历遍objSWbemObjectSet中的objSWbemObject
    找到objSWbemObject.DisplayName然后就可以通过objSWbemObject.ProcessId得到PID了