如何检测笔记本的电池电量?

bookbull 2004-10-10 07:20:53
现在正在开发一个笔记本项目,不知道该如何检测笔记本的电池电量,并在桌面上显示,有没有哪个朋友能够帮忙解决这个问题的?
...全文
315 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
anbeel 2004-10-11
  • 打赏
  • 举报
回复
(ZT)

引用单元:
Windows, ActiveX, Classes, ShlObj;
________________________________________________________

function GetAPMLineStatus: TAPMLineStatus;
var
SystemPowerstatus: TSystemPowerStatus;
begin
Result := alsUnknown;
if not GetSystemPowerStatus(SystemPowerStatus) then
RaiseLastWin32Error
else
begin
case SystemPowerStatus.ACLineStatus of
0:
Result := alsOffline;
1:
Result := alsOnline;
255:
Result := alsUnknown;
end;
end;
end;

//------------------------------------------------------------------------------
function GetAPMBatteryFlag: TAPMBatteryFlag;
var
SystemPowerstatus: TSystemPowerStatus;
begin
Result := abfUnknown;
if not GetSystemPowerStatus(SystemPowerStatus) then
RaiseLastWin32Error
else
begin
case SystemPowerStatus.BatteryFlag of
1:
Result := abfHigh;
2:
Result := abfLow;
4:
Result := abfCritical;
8:
Result := abfCharging;
128:
Result := abfNoBattery;
255:
Result := abfUnknown;
end;
end;
end;

//------------------------------------------------------------------------------

function GetAPMBatteryLifePercent: Integer;
var
SystemPowerstatus: TSystemPowerStatus;
begin
Result := 0;
if not GetSystemPowerStatus(SystemPowerStatus) then
RaiseLastWin32Error
else
Result := SystemPowerStatus.BatteryLifePercent;
end;

//------------------------------------------------------------------------------

function GetAPMBatteryLifeTime: Integer;
var
SystemPowerstatus: TSystemPowerStatus;
begin
Result := 0;
if not GetSystemPowerStatus(SystemPowerStatus) then
RaiseLastWin32Error
else
Result := SystemPowerStatus.BatteryLifeTime;
end;

//------------------------------------------------------------------------------

function GetAPMBatteryFullLifeTime: Integer;
var
SystemPowerstatus: TSystemPowerStatus;
begin
Result := 0;
if not GetSystemPowerStatus(SystemPowerStatus) then
RaiseLastWin32Error
else
Result := SystemPowerStatus.BatteryFullLifeTime;
end;

from www.delphi-jedi.org Jcl package
anbeel 2004-10-11
  • 打赏
  • 举报
回复
BOOL GetSystemPowerStatus(

LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
caodayong 2004-10-11
  • 打赏
  • 举报
回复
顶下,学习
powerdel 2004-10-10
  • 打赏
  • 举报
回复
不会吧,系统中,电源管理就可以查询电池的剩余电量。
masterjames 2004-10-10
  • 打赏
  • 举报
回复
这个可能与笔记本牌子有关吧
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-10-10 07:20
社区公告
暂无公告