【发布时间】:2011-03-10 10:14:51
【问题描述】:
充电时,如何知道电池是否已充满?
GetSystemPowerStatusEx2() 只告诉它是否正在充电。
【问题讨论】:
标签: c# .net winapi windows-ce power-management
充电时,如何知道电池是否已充满?
GetSystemPowerStatusEx2() 只告诉它是否正在充电。
【问题讨论】:
标签: c# .net winapi windows-ce power-management
可以调用 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.
}
【讨论】:
SYSTEM_POWER_STATUS_EX2 不通过成员AC_LINE_ONLINE 和BATTERY_FLAG_CHARGING 准确提供此信息吗?