2008-11-07 8 views
26

¿Cómo puedo leer el estado de la batería en mi MacBookPro desde mi propia aplicación?¿Estado de la batería en OSX?

Google hasta ahora solo ha revelado las API para que los controladores de dispositivos manejen los eventos de alimentación: no hay nada acerca de los procesos de los usuarios de la tierra que acceden a esta información.

gracias.

Respuesta

23

Querrá utilizar IOKit para esto, específicamente el IOPowerSources functions. Puede usar IOPSCopyPowerSourcesInfo() para obtener un blob y IOPSCopyPowerSourcesList() para extraer un CFArray de eso, enumerando las fuentes de alimentación. Luego use IOPSGetPowerSourceDescription() para extraer un diccionario (consulte IOPSKeys.h para ver el contenido del diccionario).

+0

gracias - eso es justo lo que estaba buscando. – Alnitak

-1

Mire el controlador de administración del sistema. No tengo mi MBP a la mano, pero creo que debe consultar smc.h

71

Si está buscando una forma rápida de consultarlo desde la línea de comandos, encontrará útil el comando pmset. Para consultar el estado de la batería, específicamente, use:

 
$ pmset -g batt 
+2

Y esto es particularmente útil cuando se usa su Mac de forma remota a través de SSH. ¡Es bueno saber si necesitas correr hasta él para conectarte al AC! – ScrollerBlaster

+4

curioso que esto tiene tantos votos ascendentes, cuando es explícitamente una llamada API que estaba buscando (por la respuesta acepto) – Alnitak

+3

Plausiblemente porque el título/etiquetas de pregunta no distingue entre scripts/CLI y contextos compilados, tantos (como yo mismo) encontrar una respuesta trivialmente envolvente más útil que una respuesta que me obligue a caer en un idioma compilado específico. – xander

Cuestiones relacionadas