如何在c ++中设置WMI?

时间:2012-07-18 13:01:45

标签: c++ winapi visual-c++ wmi wmi-service

我正在尝试使用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
    );

1 个答案:

答案 0 :(得分:0)

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