今天项目中60秒倒计时模块需要用到GetTickCount(),这个函数,在此做下整理和总结。
1.定义
For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time that the system was suspended. GetTickCount starts at 0 on boot and then counts up from there.
在Release版本中,该函数从0开始计时,返回自设备启动后的毫秒数(不含系统暂停时间)。
For Debug configurations, 180 seconds is subtracted from the the number of milliseconds since the device booted. This allows code that uses GetTickCount to be easily tested for correct overflow handling.
在Debug版本中,设备启动后便从计时器中减去180秒。这样方便测试使用该函数的代码的正确溢出处理。
return values
The number of milliseconds indicates success.
返回值:如正确,返回毫秒数。
2.用法及应用
(1)用来计算系统所用时间,即计算两个时间点的时间间隔
DWORD dwStart = ::GetTickCount();
//执行操作
.......
DWORD dwStop = ::GetTickCount();
DWORD dwInterval = dwStop - dwStart;
(2)用于定时
用于定时器效果,比如用于60秒倒计时:
static int n_gTimeout = 0
n_gTimeout = ::GetTickCount()/1000;
//....执行操作
int nInterval = ::GetTickCount()/1000 - n_gTimeout;
if(nInterval >=60)
{
return;
}
m_nTimeOut = 60 - nInterval;//倒计时时刻