资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

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

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

现在正在开发一个笔记本项目,不知道该如何检测笔记本的电池电量,并在桌面上显示,有没有哪个朋友能够帮忙解决这个问题的?

网友回答:

发表者:anbeel

BOOL   GetSystemPowerStatus(  
   
          LPSYSTEM_POWER_STATUS   lpSystemPowerStatus  
        );

发表者:anbeel

(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    
 


 

 
热门推荐笔记本: NETBOOK笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved