wince5.0如何显示电源电量百分比

farmerhou   2009-9-15 16:15 楼主
大家好,如题啦!
我把自己搜到点东西说说啊。
1:据说wince5.0自带显示电源电量的,但是我弄不出来啊,有人说是在cplmain.cpl这个文件中修改什么的,他没说清楚,我也没搞懂!
  懂的麻烦说具体些哈
2:有些人说AP是自己做的,AP是什么啊?怎么做?
3:如果我想自己写这个功能的程序,应该怎么写?最好是C语言和VB,其他的我不怎么会,如果真的是其他语言的代码也可以,我拿来参考了。

麻烦各位了啊!!

回复评论 (10)

先关注下 我后面也要弄这个
点赞  2009-9-15 16:31
驱动支持,应用层就可以实现的:GetSystemPowerStatusEx()
点赞  2009-9-15 16:32
如果用C#来在.NET实现的话,首先需要驱动支持。
然后调用COREDLL动态库。
采用驱动支持,应用层就可以实现的:GetSystemPowerStatusEx()和GetSystemPowerStatusEx2()来实现具体要采集的电量,电压,电流等相关信息。
点赞  2009-9-15 16:36
必须驱动支持才行呀,你确定驱动支持么?
点赞  2009-9-15 18:10
一般都支持滴
点赞  2009-9-15 18:19
驱动铁定支持啊.
点赞  2009-9-15 22:50
你们好!
能写一点具体的代码吗?
因为没用过C#,所以还是没办法利用那个函数。
我找到了写代码,但是不会用C#来组织,编译成一个可执行的程序。
我现在把代码帖出来,大家帮我组织下,谢谢啦!
[DllImport("coredll.dll")]  
  public static extern uint   
GetSystemPowerStatusEx2(  
ref SYSTEM_POWER_STATUS_EX2 pSystemPowerStatusEx2,   
int dwLen, int fUpdate);  

  public struct SYSTEM_POWER_STATUS_EX2  
  {  //c# Windows CE读取电池电量的实现
   public byte ACLineStatus;  
   public byte BatteryFlag;  
   public byte BatteryLifePercent;  
   public byte Reserved1;  
   public uint BatteryLifeTime;  
   public uint BatteryFullLifeTime;  
   public byte Reserved2;  
   public byte BackupBatteryFlag;  
   public byte BackupBatteryLifePercent;  
   public byte Reserved3;  
   public uint BackupBatteryLifeTime;  
   public uint BackupBatteryFullLifeTime;  
   public uint BatteryVoltage;  
   public uint BatteryCurrent;  
   public uint BatteryAverageCurrent;  
   public uint BatteryAverageInterval;  
   public uint BatterymAHourConsumed;  
   public uint BatteryTemperature;  
   public uint BackupBatteryVoltage;  
   public byte BatteryChemistry;  
  }  
//c# Windows CE读取电池电量的实现

   

c# Windows CE读取电池电量的实现的调用:  

//c# Windows CE读取电池电量的实现之取电量  
   WinCE.SYSTEM_POWER_STATUS_EX2 status = new   
WinCE.SYSTEM_POWER_STATUS_EX2();  
   hr=WinCE.GetSystemPowerStatusEx2(ref status,  
System.Runtime.InteropServices.Marshal.SizeOf(status), 1);
点赞  2009-9-16 09:19
我查了点资料,可以编译成可执行的exe文件,但是GetSystemPowerStatusEx2调用是失败的,因为它的返回值是0;
大家帮我看看是什么地方的问题啊?
首先想到的是驱动是不是支持,那怎么可以知道,驱动是否支持呢?
或者还有什么可能会导致那样的问题?
麻烦了!
点赞  2009-9-16 18:31
你到底是要MDD层 还是要PDD层啊
点赞  2009-9-17 11:12
GetSystemPowerStatusEx()
点赞  2009-11-6 00:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复