Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente psv público

Código fuente psv público

#define_WIN32_DCOM

# include & ltiostream & gt

Usar espacio de nombres estándar

# include & ltcomdef.h & gt

# include & ltWbemidl.h & gt

# pragma comment(lib, "wbemuuid.lib")

int main(int argc, char **argv)

{

CoInitializeEx(0, COINIT_Multi-threading);

Pruebe

{

if(Success(CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL)))

{

IWbemLocator * pLoc = NULL

if(SUCCEEDED (cocrear instancia( Localizador CLSID_WBEM, 0, CLSCTX_INPROC_SERVER, IID_iwbelocator, (LPVOID *) & pLoc)))

{

IWbemServices * pSvc = NULL

p>

if(Éxito (pLoc->ConnectServer(_ bstr_t(L"ROOT\\WMI),NULL,NULL,0,NULL,0,0&pSvc)))

{

if (éxito(CoSetProxyBlanket(pSvc,RPC_C_AUTHN_WINNT,RPC_C_AUTHZ_NONE,NULL,RPC_C_AUTHN_LEVEL_CALL,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE)))

{

IEnumWbemClassObject * pEnumerator = NULL;

if(éxito(pSvc-& gt; ExecQuery(bstr_t("WQL "), bstr_t("SELECT * FROM

MSAcpi_ThermalZoneTemperature "), WBEM _ FLAG _ FORWARD _ SOLAMENTE | WBEM _ FLAG _ RETURN _ INMEDIATAMENTE, NULL y amppEnumerator)))

{

IWbemClassObject * pclsObj

ULONG ure turn = 0

mientras(tacaño; man)

{

pEnumerator->; Siguiente(WBEM_INFINITE, 1, &pclsObj & amp;uReturn);

pEnumerator->; if(0==uReturn)

Break;

Variant vtProp

VariantInit(& vt prop);

pclsObj-> Get(L"CurrentTemperature ", 0 & vtProp, 0, 0);

wcout & lt& lt"Temperatura actual de la CPU:" & lt& lt(vt prop .intval-2732)/10

.0 <<endl

variante clara(& vt prop);

pclsObj->release();

}

}

}

pSvc->;Publish();

}

pLoc->Publish();

}

}

}

captura (_com_error err)

{

}

cuenta inicializar();

devuelve 0;

}