-2

我正在尝试使用 WMI 获取正在运行的服务的进程。但我对如何使用 WMI 感到困惑。

我认为使用这种方法可以工作 http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.servicename%28v=vs.71%29

但是我不知道如何设置 WMI 才能使用它

我知道我需要这样做,但不知道从那里去哪里

 HRESULT hres(CoInitializeEx(NULL, COINIT_MULTITHREADED));
     // Set general COM security levels
hres = CoInitializeSecurity(
    NULL,
    -1,                             // COM authentication
    NULL,                           // Authentication services
    NULL,                           // Reserved
    RPC_C_AUTHN_LEVEL_DEFAULT,      // Default authentication
    RPC_C_IMP_LEVEL_IMPERSONATE,    // Default Impersonation
    NULL,                           // Authentication Info
    EOAC_NONE,                      // Additional capabiliteis
    NULL                            // Reserved
    );
4

1 回答 1

0

EnumServicesStatusEx将为您(除其他外)提供所有活动服务的 ProcessId。将其与当前进程的 ID 进行比较以找到匹配的 ID。除了 ProcessID,您还将获得每个服务的两个名称:服务名称和显示名称。我不确定你想要一个,但大概是两者之一。

于 2012-07-18T23:28:28.880 回答