mfc让程序每30分钟执行一次 (SetTimer()的使用方法)

    技术2025-11-06  33

    一开始可能没有WM_TIMER消息,此时需要使用类向导添加消息。

    SetTimer函数原型

    UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函数 );

    定时器的初始化

    SetTimer(1,1000,NULL);//一个1秒触发一次的定时器

    重新初始化即可重置计时时间,不必“杀死“”SetTimer,

    多个定时器的实现与应用

    void CTimerTestDlg::OnTimer(UINT nIDEvent) { switch (nIDEvent) { case 24: ///处理ID为24的定时器 Draw1(); break; case 25: ///处理ID为25的定时器 Draw2(); break; } CDialog::OnTimer(nIDEvent); }

    注意:可以使用类向导,直接添加该函数。添加WM_TIMER消息。

    取消定时器

    直接运行下面的代码即可:

    KillTimer(1);

    其中1为定时器的ID编号。 函数KillTimer()的原型为:

    BOOL KillTimer( HWND hWnd, // 窗口句柄 UINT_PTR uIDEvent // ID );

    参考网址 SetTimer()函数使用

    Processed: 0.008, SQL: 10