Подтвердить что ты не робот

API состояния батареи в macOS?

Как я могу прочитать статус батареи на моем MacBookPro из собственного приложения?

Googling до сих пор показывал только API-интерфейсы для драйверов устройств для обработки событий питания - нет ничего о том, что процессы пользовательской земли получают доступ к этой информации.

спасибо.

4b9b3361

Ответ 1

Вы можете использовать IOKit для этого, в частности, функции IOPowerSources. Вы можете использовать IOPSCopyPowerSourcesInfo(), чтобы получить блоб, и IOPSCopyPowerSourcesList(), чтобы затем извлечь из него CFArray, перечисляя источники питания. Затем используйте IOPSGetPowerSourceDescription(), чтобы извлечь словарь (содержание IOPSKeys.h смотрите в словаре).

Ответ 2

Если вы ищете быстрый способ запросить его из командной строки, вы найдете команду pmset полезной. Чтобы запросить состояние батареи, в частности, используйте:

$ pmset -g batt

Ответ 3

Может быть, поможет извлечь текст в приложение-скрипт

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

выход

Battery Power
AC Power

Ответ 4

Посмотрите на контроллер системного управления. У меня нет моей MBP, но я считаю, что вам нужно посмотреть на smc.h