macOS 中的电池状态 API?
如何从我自己的应用程序读取 MacBookPro 上的电池状态?
到目前为止,谷歌搜索仅揭示了设备驱动程序处理电源事件的 API - 没有任何关于用户态进程访问此信息的信息。
谢谢。
How can I read the status of the battery on my MacBookPro from my own application?
Googling has so far only revealed APIs for device drivers to handle power events - there's nothing about user-land processes accessing this information.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您正在寻找一种从命令行快速查询的方法,您会发现 pmset 命令很有帮助。 要查询电池状态,具体可以使用:
If you're looking for a quick way to query it from the command line, you'll find the pmset command helpful. To query the battery status, specifically, use:
为此,您需要使用 IOKit,特别是 IOPowerSources 函数。 您可以使用 IOPSCopyPowerSourcesInfo() 获取 blob,然后使用 IOPSCopyPowerSourcesList() 从中提取 CFArray,列出电源。 然后使用 IOPSGetPowerSourceDescription() 提取字典(请参阅 IOPSKeys .h 表示字典的内容)。
You'll want to use IOKit for this, specifically the IOPowerSources functions. You can use
IOPSCopyPowerSourcesInfo()
to get a blob, andIOPSCopyPowerSourcesList()
to then extract a CFArray out of that, listing the power sources. Then useIOPSGetPowerSourceDescription()
to pull out a dictionary (see IOPSKeys.h for the contents of the dictionary).也许有助于将文本提取到脚本应用程序
输出中
Maybe help extracted text into script app
output
对于 Objective-C,这可以获取当前百分比:
For Objective-C, this works to get the current percentage:
查看系统管理控制器。 我手边没有 MBP,但我相信你需要看看 smc.h
Look at the System Management Controller. I don't have my MBP handy, but I believe you need to look at smc.h