以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  WinAPI: GetSystemPowerStatus  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=88570)


--  作者:葛靖青001
--  发布时间:12/7/2010 3:38:00 PM

--  WinAPI: GetSystemPowerStatus
【转自互联网】

//声明

  GetSystemPowerStatus(

  var lpSystemPowerStatus: TSystemPowerStatus {TSystemPowerStatus 结构}

  ): BOOL;

  //TSystemPowerStatus 是 _SYSTEM_POWER_STATUS 结构的重定义:

  _SYSTEM_POWER_STATUS = packed record

  ACLineStatus : Byte;     {0:电源断电; 1:电源正常; 255:电源状态未知}

  BatteryFlag : Byte;     {1:电量充足; 2:电量低; 4:电池基本耗尽; 8:充电; 128:没有电池; 255:电池状态未知}

  BatteryLifePercent : Byte;  {0..100:所剩电量百分数; 255:未知}

  Reserved1 : Byte;      {保留, 须为 0}

  BatteryLifeTime : DWORD;   {电池剩余能量; -1 表示未知}

  BatteryFullLifeTime : DWORD; {电池总能量; -1 表示未知}

  end;

  //举例:

  procedure TForm1.FormCreate(Sender: TObject);

  var

  Power: TSystemPowerStatus;

  begin

  GetSystemPowerStatus(Power);

  Memo1.Clear;

  with Memo1.Lines do

  begin

  Add(Format('电源状态: %d',[Power.ACLineStatus]));

  Add(Format('电池状态: %d',[Power.BatteryFlag]));

  Add(Format('电量百分比: %d',[Power.BatteryLifePercent]));

  Add(Format('剩余能量: %d',[Power.BatteryLifeTime]));

  Add(Format('总能量: %d',[Power.BatteryFullLifeTime]));

  end;

  end;


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
140.625ms