CTime   CurTime;
///用线程
UINT GetTime( LPVOID pParam )
{
   for(;;)
   {
     if( CurTime.GetHour() == 8)//是早上8点
        //处理事件 
     Sleep(100);
    }
}
///用定时器
SetTimer(1,100,NULL);
void OnTimer(UINT nIDEvent) 
{
 if( CurTime.GetHour() == 8)//是早上8点
        //处理事件 
    Sleep(100);}

解决方案 »

  1.   

    用SetTimer()开一个Timer;
    然后在响应WM_TIMER的函数里做“提醒”的事。
      

  2.   

    SetTime太耗费资源,建议用
    内核信号量机制,可等的计时器
      

  3.   

    SYSTEMTIME Systime={0};
    Systime.wYear=2002;
    Systime.wMonth=5;
    Systime.wDay=24;
    Systime.wHour=18;
    Systime.wMinute=54;
    FILETIME TimeLocal,TimeUTC;
    SystemTimeToFileTime(&Systime,&TimeLocal);
    LocalFileTimeToFileTime(&TimeLocal,&TimeUTC);
    LARGE_INTEGER li;
    li.HighPart=TimeUTC.dwHighDateTime;
    li.LowPart=TimeUTC.dwLowDateTime;
    HANDLE handle=CreateWaitableTimer(NULL,false,NULL);
    SetWaitableTimer(handle,&li,0,NULL,NULL,false);
    if(WaitForSingleObject(handle,INFINITE)==WAIT_OBJECT_0)
    {
    CloseHandle(handle);
    MessageBox(NULL,"时间到",0,MB_OK);
    }
      

  4.   

    我想可以发送WM_TIMER消息,然后使用SetTimer()函数定时,最后在        
    OnTimer()函数中实现你所要的功能。