Language/WinAPI2011.08.30 17:05

SYSTEMTIME 구조체

typedef struct _SYSTEMTIME {
    WORD wYear;               // 년도 ( 1601 ~ 30827 년도를 표현 )
    WORD wMonth;            // 월 ( 1 월은 1이며 12 보다 작아야 한다.)
    WORD wDayOfWeek;    // 요일 ( 0 : 일요일, 1 : 월요일 )
    WORD wDay;               // 날짜
    WORD wHour;              // 시간
    WORD wMinute;           // 분
    WORD wSecond;         // 초
    WORD wMilliseconds;    // 1/1000 초
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;


GetLocalTime 함수

void GetLocalTime(LPSYSTEMTIME lpSystemTime);


프로그램이 시작할 때 타이머를 동작하도록 하기 위해서는 WM_CREATE 메시지가 발생할 때 설정하면된다.  WM_CREATE 메시지는 WndProc 함수에서 첫 번째로 처리하는 메시지이다. 프로그램 시작시 꼭 한번 초기화 및 메모리 할당 또는 각종 설정을 할 때 사용한다.


타이머 생성

UINT SetTimer (HWND hWnd , UINT nIDEvent, UINT uElapse,
                                                                          TIMERPROC lpTimerFunc);


hWnd - 윈도우 핸들
nIDEvent - 타이머 번호 ( 여러 개 사용 시 겹치지 않게 번호를 부여 )
uElapse - 타이머 주기 설정 ( 1/1000 초 )
lpTimerFunc - 타이머 메시지 발생할 때마다 호출될 함수를 지정 ( 사용하지 않을 경우 NULL )

타이머가 생성 되면 타이머 주기마다 타이머 메시지를 생성한다. 생성되는 메시지는 WM_TIMER 이다. 이 메시지 일때 처리할 내용을 코딩하면된다.


타이머 제거

타이머는 시스템 전역 자원이므로 필요가 없다면 제거하는 것이 좋다.

BOOL KillTimer ( HWND hWnd, UINT uIDEvent );

hWnd - 윈도우 핸들
uIDEvent  - 타이머 번호


관련 메시지

WM_CREATE
WM_TIMER

'Language > WinAPI' 카테고리의 다른 글

RegisterClass 함수 - 20110904  (0) 2011.09.04
WinMain 함수 - 20110902  (0) 2011.09.02
SendMessage 함수 - 20110902  (0) 2011.08.30
Timer (타이머) - 20110830  (0) 2011.08.30
mouse (마우스) - 20110830  (0) 2011.08.30
WinAPI 의 윈도우를 만드는 과정  (0) 2011.08.22
Posted by 꿈을모아서

댓글을 달아 주세요