|
timeSetEvent를 찾아 보시면 잘 나와 있을꺼에요.
MMRESULT timeSetEvent(
UINT uDelay, //이때마다 타이머 뜨고(1ms~1000s까지 지정)
UINT uResolution, //이 단위의 정확도로(1ms~55ms까지 지정)
LPTIMECALLBACK fptc, //타이머 뜨면 이 함수 불러 주고
DWORD dwUser, //콜백 함수에 넣어줄 핸들
UINT fuEvent //PERIODIC(주기)타이머냐, OneShop(한번)타이머냐 를 지정
);
콜백 원형은 이렇습니다.
typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2);
timeSetEent의 dwUser가 콜백함수의 dwUser로 들어가요.
fuEvent는 TIME_PERIODIC | TIME_CALLBACK_FUNCTION, TIME_ONESHOT | TIME_CALLBACK_FUNCTION
정도가 있겠구요.
timeSetEvent의 return값은 생성된 timer의 ID입니다. Oneshop일 경우엔 필요 업고 periodic일 경우엔
나중에 타이머 다 쓰고 나면 해당 ID를 timeKillEvent 로 죽이시면 됩니다.
짜자잔 님이 쓰신 글 :
: 타이머를 써서 프로그래을 만들었는데
: 계속해서 오차가 생기네요..
: 멀티미디어 타이머를 사용하면 괜찮아 진다고 하는데..
: 어떻게 쓰는 건지..고수님들 부탁드려요...
|