2013-10-17 12 views
5

Desidero ottenere la temperatura della batteria in Windows e ho provato la funzione DeviceIoControl (http://msdn.microsoft.com/en-us/library/aa372698(v=vs.85).aspx) in BatteryTemperature.Come accedere alla temperatura della batteria del laptop in Windows?

Ho provato altri parametri come BatterySerialNumber e restituisce il numero di serie, ma mentre voglio ottenere la temperatura, la funzione restituisce FALSE. E GetLastError restituisce S_FALSE.

Il mio ambiente è Win7 Enterprise SP1, ho sviluppato su VS2008 + SP1, codice C++ totale, il mio laptop è HP Elitebook 2570p. Qualcuno può dare qualche suggerimento su questo argomento. Ho cercato su Google e non ho trovato alcun argomento di aiuto, o dovrei scrivere qualche codice del driver per ottenere la temperatura? O questa batteria del portatile non supporta questa funzione?

Grazie mille.

PS. Se ci sono altre tecnologie in grado di ottenere la temperatura è il benvenuto, non solo in C++.

risposta

-1

È possibile controllare la temperatura della scheda di sistema e del processore con un programma di utilità. Per quanto riguarda il controllo della temperatura della batteria va ... Suggerisco un termometro a infrarossi. (la maggior parte delle persone non ha accesso a tali attrezzature specializzate). Suggerisco di utilizzare un pad di raffreddamento per notebook.

Si potrebbe anche usare un programma chiamato "fan velocità", che è possibile controllare la velocità delle ventole computer, ma non sono sicuro se sarà raffreddare la batteria molto ...

se si vuole provare out "speed fan" ecco il link: http://www.almico.com/sfdownload.php

1

S_FALSE restituito da GetLastError è anche solo 1, che è anche ERROR_INVALID_FUNCTION. Estratto da MSDN:

Se il particolare tipo di dati richiesto non è disponibile per la batteria corrente, viene restituito ERROR_INVALID_FUNCTION.

Questo significa che la batteria non ha sensore di temperatura o il produttore che ha scritto il driver della batteria ha deciso di non fornire queste informazioni a Windows.