在Windows CE 6中,如何才能知道电池是否仍在充电或已满?

时间:2011-03-10 10:14:52

标签: c# .net winapi windows-ce power-management

充电时,如何知道电池是否已充满?

GetSystemPowerStatusEx2()仅告知是否正在充电。

1 个答案:

答案 0 :(得分:2)

  

可以调用Windows CE GetSystemPowerStatusEx2函数来返回SYSTEM_POWER_STATUS_EX2结构。该结构包含有关设备电源状态的重要细节。此结构中最有用的三个细节是 ACLineStatus BatteryFlag BatteryLifePercent 成员。

     

要生成准确完整的信息,设备制造商必须从电池驱动程序中填充此数据,如下面的代码所示:

PSYSTEM_POWER_STATUS_EX2 pwrstat=0;
if (!GetSystemPowerStatusEx2(pwrstat,sizeof(pwrstat),FALSE))
{
    MessageBox(hWnd,_T("Couldn't get power state"), _T("Error"),MB_OK);
} 
else
{
    // Extract the power status information you need.
}