【发布时间】:2008-11-07 16:04:17
【问题描述】:
如何从我自己的应用程序中读取 MacBookPro 上的电池状态?
到目前为止,谷歌搜索只揭示了设备驱动程序处理电源事件的 API - 没有任何关于访问此信息的用户级进程。
谢谢。
【问题讨论】:
如何从我自己的应用程序中读取 MacBookPro 上的电池状态?
到目前为止,谷歌搜索只揭示了设备驱动程序处理电源事件的 API - 没有任何关于访问此信息的用户级进程。
谢谢。
【问题讨论】:
如果您正在寻找一种从命令行快速查询它的方法,您会发现 pmset 命令很有帮助。要查询电池状态,具体使用:
$ pmset -g 电池【讨论】:
您需要为此使用 IOKit,特别是 IOPowerSources functions。您可以使用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
【讨论】: