如何用WIn32 API同步系统时间
我想设计一个计时器,使它能够与系统时间同步,Charles Petzold那本书上介绍计时器那章时使用定时器来实现,最后提到了用WM_TIMECHANGE会更好,但是我的程序根本就捕获不到WM_TIMECHANGE消息,我的本来理解是系统时钟每过一秒应该会发送一个WM_TIMECHANGE消息的,网上说是要系统时间设置改变时才会发送该消息,我不太明白,我的代码如下:
case WM_TIMECHANGE:
{
SYSTEMTIME stime;
GetLocalTime(&stime);
wsprintf(szBuffer,"%4d年%2d月%2d日\n%2d:%2d:%2d,星期%3d",
stime.wYear,stime.wMonth,stime.wDay,
stime.wHour,stime.wMinute,stime.wSecond,
stime.wDayOfWeek);
hdc = GetDC(hWnd);
TextOut(hdc,0,0,szBuffer,lstrlen(szBuffer));
ReleaseDC(hWnd,hdc);
SendMessage(hWnd,WM_PAINT,wParam,lParam);
}
所以请教高手指点如何解决该时间同步问题