我想在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。任何人都可以就此主题提出一些建议。我搜索过Google并且没有找到任何帮助主题,或者我应该编写一些驱动程序代码来获取温度?或者这款笔记本电池不支持此功能?
非常感谢。
PS。如果有任何其他技术可以得到温度是受欢迎的,不仅仅是在C ++。
答案 0 :(得分:1)
GetLastError返回的S_FALSE也只是1,也是ERROR_INVALID_FUNCTION。从MSDN中提取:
如果请求的特定数据类型不适用于当前电池,则返回ERROR_INVALID_FUNCTION。
这意味着您的电池没有温度传感器或编写电池驱动程序的制造商决定不向Windows提供此信息。
答案 1 :(得分:-1)
您可以使用实用程序检查系统板和处理器的温度。 至于检查电池的温度是否...我建议使用红外线温度计。 (大多数人无法使用这种专用设备)。我建议使用笔记本散热垫。
您还可以使用一个名为“速度风扇”的程序,您可以控制计算机风扇的速度,但我不确定它是否会让您的电池充电...
如果您想尝试“速度粉丝”,请点击链接:http://www.almico.com/sfdownload.php