#include <Windows.h>
namespace MS_TIMER
{
// dwNowTime和dwPreTime的值都由GetTickCount获取
DWORD GetTimeInterval(DWORD dwNowTime, DWORD dwPreTime)
{
if (dwNowTime >= dwPreTime)
{
return dwNowTime - dwPreTime;
}
else
{
return 0xFFFFFFFF - dwPreTime + dwNowTime;
}
}
class CMSTimer
{
private:
DWORD m_dwNowTime;
DWORD m_dwPreTime;
DWORD m_dwTimeOutValue;
public:
CMSTimer()
{
m_dwPreTime = 0;
m_dwNowTime = 0;
}
~CMSTimer()
{
}
/// 单位毫秒,外部调用如果是秒需要乘以1000
void Start(DWORD dwTimeOutValue)
{
m_dwTimeOutValue = dwTimeOutValue;
m_dwPreTime = GetTickCount();
}
bool IsTimeOut()
{
m_dwNowTime = GetTickCount();
if (GetTimeInterval(m_dwNowTime, m_dwPreTime) > m_dwTimeOutValue)
return true;
else
return false;
}
};
}
一个简单的计时器类
最新推荐文章于 2024-07-10 11:32:08 发布