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( &ltime );




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 까지 지원

Posted by 용학도리
,