How - or what\'s the best way - to retrieve the device\'s current battery level in .NET CF 3.5 on Windows Mobile 5 and 6?
You probably want the State Notification Broker class that Noldorin is recommending. I don't think it gives you very fine grain information. You get information like Low or Very Low. If you need specific percentages consider using GetSystemPowerStatusEx.
HOWTO: Get the Device Power Status GetSystemPowerStatusEx
I think you want to use the Microsoft.WindowsMobile.Status
namepsace (specifically the SystemState class.
using Microsoft.WindowsMobile.Status;
...
BatteryLevel batteryLevel = SystemState.PowerBatteryStrength;
BatteryState batteryState = SystemState.PowerBatteryState;
See this post for the full code sample.
To add to CJ's response you can find a code example of how to get detailed battery information from http://www.codeproject.com/kb/mobile/Wimopower1.aspx . This information includes the batter's power level, temperature, whether it is charging or draining, and the amount of current being drawn.
Example Output http://j2i.net/resized-image.ashx/__size/800x0/__key/CommunityServer.Blogs.Components.WeblogFiles/home/powerMeter.png