4425|11

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

检测电源剩余量 [复制链接]

我现在想检测我终端设备的电池剩余量并将它显示出来,我用的是WinCE的操作系统,我的程序如下:
  SYSTEM_POWER_STATUS_EX spse;
  GetSystemPowerStatusEx(&spse, TRUE);
  CString power = spse.BackupBatteryLifePercent;
  MessageBox(power);
可是最后显示出来的结果是一个空白的对话框。
我只知道typedef struct _SYSTEM_POWER_STATUS_EX {
    BYTE ACLineStatus;
    BYTE BatteryFlag;
    BYTE BatteryLifePercent;
    BYTE Reserved1;
    DWORD BatteryLifeTime;
    DWORD BatteryFullLifeTime;
    BYTE Reserved2;
    BYTE BackupBatteryFlag;
    BYTE BackupBatteryLifePercent;
    BYTE Reserved3;
    DWORD BackupBatteryLifeTime;
    DWORD BackupBatteryFullLifeTime;
}   SYSTEM_POWER_STATUS_EX, *PSYSTEM_POWER_STATUS_EX, *LPSYSTEM_POWER_STATUS_EX;
要查看电池的可用百分比,应该访问spse.BackupBatteryLifePercent;
不知道是我显示BYTE BackupBatteryLifePercent;的时候方法错了,还是其他地方错了。请指教。谢谢!!!

最新回复

噢...我也知道了.谢谢.. 借个地方记点东东 SYSTEM_POWER_STATUS_EX spse;   GetSystemPowerStatusEx(&spse, TRUE);   CString power = spse.BatteryLifePercent;   MessageBox(power); 防止机器休眠: 初始化时, SetTimer(hWnd, 12345,60000,NULL);设置1分钟 在Ontimer时, 调用SystemIdleTimerReset(),即可   详情 回复 发表于 2009-11-24 12:10
点赞 关注

回复
举报

83

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个问题,前面有人问过,你首先要看你的硬件和驱动有没有实现这个功能。因为这部分的功能,是需要在BSP中完成的。
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
那请问,应该怎么看啊?
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

4
 
我想硬件和驱动应该实现了吧?因为我从开发板的CE的操作界面/控制面板/电源属性里面可以看到电池的剩余电量的。如果硬件和驱动没有实现这个功能的话,应该看不到电源属性的吧?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

5
 
两个问题,在EVC下  SYSTEM_POWER_STATUS_EX spse; 没问题,在VS2005下 SYSTEM_POWER_STATUS_EX spse={0};
CString power = spse.BackupBatteryLifePercent; 改成
CString power(L"");
power.Format(L"%d",spse.BackupBatteryLifePercent);


 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
谢谢,我是在EVC下开发的:
      SYSTEM_POWER_STATUS_EX spse;
     GetSystemPowerStatusEx(&spse, TRUE);
     CString power(L"");
     power.Format(L"%d",spse.BackupBatteryLifePercent);
     MessageBox(power);
现在对话框总算显示出东西来了,可显示出来的是0。可是我从控制面板/电源属性里面看到的剩余电量是60%啊。为什么啊?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
BatteryLifePercent
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

8
 
spse.BatteryLifePercent
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

9
 

你不能debug单步跟吗?

单步跟一下,什么都解决了。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢!是我用错了,用spse.BatteryLifePercent就对了。谢谢!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

11
 
谢谢,是我用错了,用BatteryLifePercent就好了。谢谢!!!
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

12
 
噢...我也知道了.谢谢..
借个地方记点东东
SYSTEM_POWER_STATUS_EX spse;
  GetSystemPowerStatusEx(&spse, TRUE);
  CString power = spse.BatteryLifePercent;
  MessageBox(power);

防止机器休眠:
初始化时,
SetTimer(hWnd, 12345,60000,NULL);设置1分钟
在Ontimer时,
调用SystemIdleTimerReset(),即可
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表