This demo is useful for notebook computers that run on batteries.
struct SYSTEMPOWERSTATUS,_ ACLineStatusBatteryFlag as word,_ BatteryLifePercent as word,_ BatteryLifeTime as ulong,_ BatteryFullLifeTime as ulong 'ACLineStatus ' 0=offline ' 1=online ' 255=unknown 'BatteryFlag ' 1 High ' 2 Low ' 4 Critical ' 8 Charging ' 128 No system battery ' 255 Unknown status 'BatteryLifePercent '0-100% or 255 if status unknown 'BatteryLifeTime ' Number of seconds of battery life remaining, ' or hexdec("FFFFFFFF") if remaining seconds are unknown. 'BatteryFullLifeTime ' Number of seconds of battery life when at full charge, ' or hexdec("FFFFFFFF") if full battery lifetime is unknown. calldll #kernel32, "GetSystemPowerStatus",_ SYSTEMPOWERSTATUS as struct, re as boolean ACBF = SYSTEMPOWERSTATUS.ACLineStatusBatteryFlag.struct print "ACLineStatus is "; ACBF MOD 256 print "BatteryFlag is ";int(ACBF/256) print "BatteryLifePercent is "; SYSTEMPOWERSTATUS.BatteryLifePercent.struct print "BatteryLifeTime in seconds is ";SYSTEMPOWERSTATUS.BatteryLifeTime.struct print "BatteryFullLifeTime in seconds is ";SYSTEMPOWERSTATUS.BatteryFullLifeTime.struct