32

如何从我自己的应用程序中读取 MacBookPro 上的电池状态?

到目前为止,谷歌搜索只显示了设备驱动程序处理电源事件的 API——没有关于用户级进程访问这些信息的任何内容。

谢谢。

4

4 回答 4

77

如果您正在寻找一种从命令行快速查询它的方法,您会发现 pmset 命令很有帮助。要查询电池状态,具体来说,使用:

$ pmset -g 电池
于 2009-06-22T03:14:56.097 回答
26

您需要为此使用 IOKit,特别是IOPowerSources 函数。您可以使用IOPSCopyPowerSourcesInfo()获取 blob,IOPSCopyPowerSourcesList()然后从中提取 CFArray,列出电源。然后使用IOPSGetPowerSourceDescription()拉出一个字典(字典的内容见IOPSKeys.h)。

于 2008-11-07T17:09:05.077 回答
0

也许有助于将文本提取到脚本应用程序中

pmset -g batt | head -n 1 | cut -c19- | rev | cut -c 2- | rev

输出

Battery Power
AC Power
于 2019-09-19T21:28:33.893 回答
-3

查看系统管理控制器。我手边没有我的 MBP,但我相信你需要看看 smc.h

于 2008-11-07T17:10:49.457 回答