我正在尝试使用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
);
答案 0 :(得分:0)
EnumServicesStatusEx将为您(除其他外)提供所有活动服务的ProcessId。将其与当前进程的ID进行比较,以找到匹配的进程。与ProcessID一起,您将为每个服务获得两个名称:服务名称和显示名称。我不确定你想要哪些,但可能是其中一个。