1.Window SystemTimer
-윈도우에서만 사용가능함
-필요헤더파일 : #include <afxwin.h>
-소스
SYSTEMTIME time;
::GetSystemTime( &time );
typedef struct _SYSTEMTIME { // st
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME;
2.Posix Timer
-윈도우, 리눅스 모두 사용가능
-필요헤더파일 : #include <time.h>
-소스
time_t ltime
time( <ime );
3.MultimediaTimer (?)
-윈도우에서만 사용가능하고 1msec 까지 지원가능한 타이머
-대신 시스템에 부담을 주기도 함
-필요헤더파일 : #include "mmsystem.h"
-소스
타이머 시작
::_GTimerIDForTX = ::timeSetEvent( m_interval, m_interval, TX_LAYER_TIMER_CALLBACK, DWORD( this ), TIME_PERIODIC ) ;
TX_LAYER_TIMER_CALLBACK 이 콜백함수 이름
타이머 정지
::timeKillEvent( ::_GTimerIDForTX ) ;
타이머 콜백함수
void CALLBACK TX_LAYER_TIMER_CALLBACK( UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2 )
{
// 처리할 부분
}
4.API Timer
-Window API Timer
-SetTimer() 함수를 이용한 ID로 제어
-이벤트 또는 콜백함수를 호출
-한개의 Timer 밖에 사용하지 못함
-다른 이벤트보다 우선순위가 낮음
기타
-윈도우 98의 타이머는 약 50msec 까지 지원
-윈도우 NT의 타이머는 약 10msec 까지 지원