MFC 获取 WinCE 电量

引用头文件
#include <WinBase.h>
对于VS等工程, stdafx.h 中或许已经包含了该文件
PS. 定义的时候或许VS不能自动识别, 但用无妨.
PS. CE SDK要包含该头文件及相应的库


需要用到的函数及结构体
函数 : v()

简单的十进制123转十六进制0x123,字符串比数字转换慢10倍

环境VC
这不是十进制转十六进制.... 十进制和十六进制是不需要转换, 但是有时会用到十进制数当成十六进制数来进行计算.
例如十进制的123当成0x123来使用.
吾的做法有两种, 1.十进制数格式化输出成字符串, 然后字符串格式化输入成十六进制数; 2.十进制数除以10取余,余数乘16的(位数-1)次方, 商继续除以10直到为0.

CE的一次内存检漏

最近做的CE项目有个问题, 程序跑一段时间就白屏.
用各种工具看了半天也没发现内存有涨, 但是出这状况一般是内存泄露之类, 程序能跑是没什么问题.
于是压力测试, 最终发现停止刷新界面的话不会白屏, 一旦刷新次数过多就会白屏.
内存泄露锁定在重绘的地方, OnPaint()函数中

WinCE LED控制

LED控制事实上就是控制设备管脚电平高低, 所控制的设备未必一定是LED灯.
用到的两个函数:NLedGetDeviceInfo(),NLedSetDevice().
用到的结构体:NLED_SETTINGS_INFO.

NLedGetDeviceInfo()原型:
BOOL WINAPI NLedGetDeviceInfo(
  UINT nInfoId,
  void* pOutput
);
其中参数 nInfoId 的取值决定了参数 pOutput 的返回值类型.
NLedGetDeviceInfo
nInfoId取值pOutput类型说明
NLED_COUNT_INFO_IDNLED_COUNT_INFO指定pOutput数据为设备上LED的数量
NLED_SUPPORTS_INFO_IDNLED_SUPPORTS_INFO指定pOutput数据为LED支持的能力信息
NLED_SETTINGS_INFO_IDNLED_SETTINGS_INFO指定pOutput数据为LED电流设置信息