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?
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.
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
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.
来源:https://stackoverflow.com/questions/681717/how-do-you-get-the-current-battery-level-in-net-cf-3-5