HRESULT hr;
hr=CoInitialize(0);
hr = CoCreateInstance(CLSID_WbemLocator,0,CLSCTX_INPROC_SERVER,IID_IWbemLocator,(LPVOID*)&m_pLoc);
hr = m_pLoc->ConnectServer( L"ROOT\\CIMV2",NULL,NULL, 0, NULL,0,0,&m_pServ );
hr = CoSetProxyBlanket(
m_pServ,
RPC_C_AUTHN_WINNT,
RPC_C_AUTHZ_NONE,
NULL,
RPC_C_AUTHN_LEVEL_CALL,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL,
EOAC_NONE
);
CString sQuery=L"SELECT * FROM Win32_Process";
IEnumWbemClassObject* pEnumerator = NULL;
HRESULT hr = m_pServ->ExecQuery(
L"WQL",
sQuery.AllocSysString(),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnumerator);
IWbemClassObject *pclsObj;
ULONG uReturn = 0;
while (pEnumerator)
{
hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
if(0 == uReturn)
break;
VARIANT vtProp;
hr=pclsObj->Get(L"Name", 0, &vtProp, 0, 0);
VariantClear(&vtProp);
IWbemClassObject* pOutParams = NULL;
hr=m_pServ->ExecMethod(L"Win32_Process",L"GetOwner",0,NULL,NULL,&pOutParams,0);
}
can someone give me an answer?plz