5

我想在 Windows 中获取电池温度,我尝试了 BatteryTemperature 上的 DeviceIoControl 功能(http://msdn.microsoft.com/en-us/library/aa372698(v=vs.85).aspx)。

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

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

非常感谢。

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

4

2 回答 2

1

GetLastError 返回的 S_FALSE 也只是 1,也就是 ERROR_INVALID_FUNCTION。摘自 MSDN:

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

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

于 2017-02-20T18:03:49.180 回答
0

您可以使用实用程序检查系统板和处理器的温度。至于检查电池的温度……我建议使用红外线温度计。(大多数人无法使用此类专用设备)。我建议使用笔记本散热垫。

你也可以使用一个叫做“speed fan”的程序,你可以控制你的电脑风扇的速度,但我不确定它是否会冷却你的电池......

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

于 2013-12-17T07:08:57.457 回答