Состояние батареи в OSX?

Эта функция сильно зависит от операционной системы: / некоторые из них добавляют бит в целое число ....

он должен вернуть код ascii нажатия клавиши, например, 27 - это код ascii для клавиши ESC ...

Теперь проблема заключалась бы в том, чтобы узнать, что происходит, когда вы передаете int в char.

In этот случай: он определяется реализацией ... (это то, что говорит стандарт) здесь есть ссылка в аналогичный случай

. Некоторые решения:

1) поместил его в переменную char ... хотя он определен по реализации, кажется, что это одно из наиболее распространенных рабочих решений (в некоторых образцах opencv они используют его)

2 ) используйте int key = cv::waitKey(1) & 255. Это устранит лишние биты ...

Чтобы пойти немного дальше, давайте проверим значения:

You obtained as an int: 1048603
in binary it will be: 00000000 00010000 00000000 00011011
27 in binary is:      00000000 00000000 00000000 00011011

Как вы можете видеть, они отличаются от этого одиночного бита. Самый безопасный и самый переносимый способ - удалить его с помощью побитовой логической операции, например, моего решения номер 2. Другие люди используют некоторое шестнадцатеричное значение вместо 255, например 0xEFFFFF, что в двоичном формате это будет

00000000 11101111 11111111 11111111

Почему это происходит?

Я искал это один раз, кажется, что некоторые из битов изменяется, если у вас есть numslock или capslock или ctrl клавиша активна ... снова, это зависит от платформы.

28
задан Alnitak 7 November 2008 в 16:04
поделиться

4 ответа

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

26
ответ дан alfwatt 7 November 2008 в 16:04
поделиться

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

-1
ответ дан Terry Wilcox 7 November 2008 в 16:04
поделиться

Возможно, помогите извлеченному тексту в приложение

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

сценария произвести

Battery Power
AC Power
0
ответ дан 28 November 2019 в 00:43
поделиться

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

$ pmset -g batt
72
ответ дан 28 November 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: