c/c++语言开发共享如何以编程方式获取mac os x macbooks的电池寿命?

我想要做的是记录电池百分比。 我知道linux中的等价物是sysctl(hw.acpi.battery.life)。 但是,当我在mac os x中通过sysctl的人时,我找不到找到它的等效代码。 有人可以指出如何使用目标c来做到这一点。 我可以调用sysctlbyname但是它的结构中没有这个输入。 请帮助我

尝试使用IOKit和IOPowerSources函数。 您可以使用IOPSCopyPowerSourcesInfo()来获取blob,然后使用IOPSCopyPowerSourcesList()从中提取CFArray,列出电源。 最后,您可以使用IOPSGetPowerSourceDescription()来获取字典。

如果可以使用命令行,则可以使用pmset命令

像这样:

$ pmset -g 

你也可以在命令行上使用ioreg。 例如:

 ioreg -l -w0 |grep CurrentCapacity 

为您提供当前电池状态,可与最大容量进行比较:

 ioreg -l -w0 |grep MaxCapacity 

获取有关电池状态的更多信息的另一种方法是使用NSTask以SPPowerDataType作为参数执行system_profiler命令。 在我的Mac上,它给了我以下结果:

电池信息:

  Model Information: Serial Number: W01396THJD3LA Manufacturer: SMP Device Name: bq20z451 Pack Lot Code: 0 PCB Lot Code: 0 Firmware Version: 201 Hardware Revision: 000a Cell Revision: 165 Charge Information: Charge Remaining (mAh): 5013 Fully Charged: Yes Charging: No Full Charge Capacity (mAh): 5086 Health Information: Cycle Count: 72 Condition: Normal Battery Installed: Yes Amperage (mA): -300 Voltage (mV): 12303 

要检索具体的内容,可以解析相应的行,也可以使用以下命令生成plist:

$ system_profiler SPPowerDataType -xml> BatteryInfo.plist

这样可以更轻松地根据特定键检索值。

以上就是c/c++开发分享如何以编程方式获取mac os x macbooks的电池寿命?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/560698.html

(0)
上一篇 2021年1月28日
下一篇 2021年1月28日

精彩推荐