类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
现在正在开发一个笔记本项目,不知道该如何检测笔记本的电池电量,并在桌面上显示,有没有哪个朋友能够帮忙解决这个问题的?
网友回答:
BOOL GetSystemPowerStatus(
LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
(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