#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;
}
};
}
一個簡單的計時器類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.