如何在Windows中访问笔记本电脑的电池温度?

我想在Windows中获取电池温度,并且在BatteryTemperature上尝试了DeviceIoControl函数( http://msdn.microsoft.com/zh-cn/library/aa372698(v=vs.85).aspx )。

我尝试了其他参数,如BatterySerialNumber,它返回的序列号,但是当我想获得温度,函数返回FALSE。 GetLastError返回S_FALSE。

我的环境是Win7 Enterprise SP1,我是在VS2008 + SP1上开发的,总的C ++代码,我的笔记本是HP Elitebook 2570p。 任何人都可以就这个话题提出一些build议。 我search了谷歌,并找不到任何帮助主题,或者我应该写一些驱动程序代码来获取温度? 或者这个笔记本电脑电池不支持这个function?

非常感谢。

PS。 如果有任何其他技术可以得到的温度是受欢迎的,不仅在C ++。

由GetLastError返回的S_FALSE也只是1,这也是ERROR_INVALID_FUNCTION。 从MSDN提取:

如果请求的特定类型的数据对当前电池不可用,则返回ERROR_INVALID_FUNCTION。

这意味着您的电池没有温度传感器或制造商谁写的电池驱动程序决定不提供此信息到Windows。

您可以使用应用程序检查系统板和处理器的温度。 至于检查电池的温度走..我建议一个红外测温仪。 (大多数人不能使用这种专用设备)。 我建议使用笔记本散热垫。

你也可以使用一个名为“速度风扇”的程序,你可以控制你的电脑风扇的速度,但我不知道它是否会降低你的电池太多…

如果你想尝试“速度迷”这里是链接: http : //www.almico.com/sfdownload.php