Checking Battery Life
Tue, 15 Jan 2008 18:57:05 -0500 - Author:
The function below, called pbBatteryLow?, checks battery power in Ruby.
def pbBatteryLow?
power="0"*12
begin
sps=Win32API.new('kernel32.dll','GetSystemPowerStatus','p','l')
rescue
return false
end
if sps.call(power)==1
status=power.unpack("CCCCVV")
# Battery Flag
if status[1]!=255 && (status[1]&6)!=0 # Low or Critical
return true
end
# Battery Life Percent
if status[2]<5 # Less than 5 percent
return true
end
# Battery Life Time
if status[4]<300 # Less than 5 minutes
return true
end
end
return false
end
