CE 定时器

时间:2024-01-05 22:53:08
//头文件:

afx_msg void OnTimer(UINT_PTR nIDEvent);   //声明定时器响应函数

//代码文件:
#define TIMER        1
#define TIMEROUT        1000          //定时1000mS=1S

BEGIN_MESSAGE_MAP(CDevCtrlDlg, CDialog)
    ON_WM_TIMER()                         //添加定时器消息映射
END_MESSAGE_MAP()

SetTimer(TIMER, TIMEROUT, NULL);        //开始定时器TIMER,1S触发一次

KillTimer(TIMER);                       //关闭定时器

void OnTimer(UINT_PTR nIDEvent)
{
    // TODO: 定时检测WiFi信号值
    switch(nIDEvent)
    {
    case TIMER:        //如果是定时器TIMER触发
        {
            //执行定时触发操作
        }
        break;
    default:
        break;
    }
    CDialog::OnTimer(nIDEvent);
}     
//SetTimer函数的原型
UINT_PTR SetTimer(
  HWND hWnd,          // 窗口句柄,在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了。
  UINT_PTR nIDEvent,   // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器。
  UINT nElapse,      // 时间间隔,单位为毫秒。
  TIMERPROC lpTimerFunc // 回调函数,放入想要执行的操作,可设为NULL,也就是使用系统默认的回调函数,系统默认的是OnTimer函数。
);