Después de hablar con el bisabuelo zolo, me propuse enseñaros una cosilla chula que puede haceros bonitos y utiles scripts.
GetSystemPowerStatus - API
Private Type SYSTEM_POWER_STATUS
ACLineStatus As Byte
BatteryFlag As Byte
BatteryLifePercent As Byte
Reserved1 As Byte
BatteryLifeTime As Long
BatteryFullLifeTime As Long
End Type
Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
Private Sub Form_Paint()
'KPD-Team 2000
'URL: [url]http://www.allapi.net/[/url]
'E-Mail: [email]KPDTeam@Hotmail.com[/email]
Dim SPS As SYSTEM_POWER_STATUS
'get the battery powerstatus
GetSystemPowerStatus SPS
Me.AutoRedraw = True
'show some information
Select Case SPS.ACLineStatus
Case 0
Me.Print "AC power status: Offline"
Case 1
Me.Print "AC power status: OnLine"
Case 2
Me.Print "AC power status: Unknown"
End Select
Select Case SPS.BatteryFlag
Case 1
Me.Print "Battery charge status: High"
Case 2
Me.Print "Battery charge status: Low"
Case 4
Me.Print "Battery charge status: Critical"
Case 8
Me.Print "Battery charge status: Charging"
Case 128
Me.Print "Battery charge status: No system battery"
Case 255
Me.Print "Battery charge status: Unknown Status"
End Select
Me.Print SPS.BatteryLifePercent
End Sub
Explicaré por partes,
ACLineStatus esto nos permite comprobar si esta pasando una corriente AC o DC por nuestro portatil, vamos si tenemos conectado el cargador o no.
BatteryFlag nos retorna una serie de estados, como bateria alta, baja, muy baja, cargando, o sin bateria. Esto es muy util, para hacer un pequeño script que cuando detecte que la baateria esta critica nos guarde todos los documentos y datos.
BatteryLifePercent porcentaje de energia que le queda. Típico para hacer una bonita barra
Espero que os haya gustado y lo apliqueis a vuestros programas