【问题标题】:Battery status API in macOS?macOS 中的电池状态 API?
【发布时间】:2008-11-07 16:04:17
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: macos battery


    【解决方案1】:

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

    $ pmset -g 电池

    【讨论】:

    • 这在通过 SSH 远程使用 Mac 时特别有用。很高兴知道您是否需要冲刺到它以连接到 AC!
    • 很好奇,当它明确是我正在寻找的 API 调用(根据我接受的答案)时,它得到了如此多的支持
    • 可能是因为问题标题/标签不区分脚本/CLI 和编译的上下文,所以很多人(像我自己)发现一个简单的可包装答案比一个需要我进入的答案更有用特定编译的语言。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      输出

      Battery Power
      AC Power
      

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多