如何从我自己的应用程序中读取 MacBookPro 上的电池状态?
到目前为止,谷歌搜索只显示了设备驱动程序处理电源事件的 API——没有关于用户级进程访问这些信息的任何内容。
谢谢。
如果您正在寻找一种从命令行快速查询它的方法,您会发现 pmset 命令很有帮助。要查询电池状态,具体来说,使用:
$ pmset -g 电池
您需要为此使用 IOKit,特别是IOPowerSources 函数。您可以使用IOPSCopyPowerSourcesInfo()
获取 blob,IOPSCopyPowerSourcesList()
然后从中提取 CFArray,列出电源。然后使用IOPSGetPowerSourceDescription()
拉出一个字典(字典的内容见IOPSKeys.h)。
也许有助于将文本提取到脚本应用程序中
pmset -g batt | head -n 1 | cut -c19- | rev | cut -c 2- | rev
输出
Battery Power
AC Power
查看系统管理控制器。我手边没有我的 MBP,但我相信你需要看看 smc.h