// Don't forget to import winmm.lib!
#include <mmsystem.h>
void FAR PASCAL OnTimerShot(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2) { MessageBox(NULL, (LPSTR)dwUser, "timerproc", MB_OK); }
UINT KillTimerCallback(UINT timerID) { return(timeKillEvent(timerID) == TIMERR_NOERROR); }
UINT SetTimerCallback(DWORD npSeq, UINT msInterval, UINT tEvent) { UINT wTimerID = timeSetEvent(msInterval, msInterval, OnTimerShot, (DWORD)npSeq, tEvent); return(wTimerID); }
//Easy to use, more accurate!
char buffer[26] = "Testing user defined data"; //TIME_ONESHOT - the callback function will be called ONCE after msInterval passed. //TIME_PERIODIC - the callback function will be called every msInterval. UINT timerID = SetTimerCallback((DWORD)(char [26])buffer, 1000/*mili seconds*/, TIME_ONESHOT); MessageBox(NULL, "On Start", "No Timer", 0); //If you want to stop a TIME_PRIODIC event call KillTimerCallback(timerID);
|