加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows API一日一练 67 SetTimer和KillTimer函数

发布时间:2020-12-14 02:34:22 所属栏目:Windows 来源:网络整理
导读:在前面介绍了一对定时器的 API 函数使用,现在又介绍另外一对 API 函数的使用。它使用起来比前的函数要简单一些,但它一般是使用到有窗口的程序里,并且它的精度也没有前面的 API 函数高,对于一些要求不高的场合还是非常合适的。它是采用消息通知的方式,每
在前面介绍了一对定时器的 API 函数使用,现在又介绍另外一对 API 函数的使用。它使用起来比前的函数要简单一些,但它一般是使用到有窗口的程序里,并且它的精度也没有前面的 API 函数高,对于一些要求不高的场合还是非常合适的。它是采用消息通知的方式,每当定时到了就会收到一条消息。
?
函数 SetTimer KillTimer 声明如下:
?
WINAPI
SetTimer(
??? __in_opt HWND hWnd,
??? __in UINT_PTR nIDEvent,
??? __in UINT uElapse,
??? __in_opt TIMERPROC lpTimerFunc);
?
WINUSERAPI
BOOL
WINAPI
KillTimer(
??? __in_opt HWND hWnd,
??? __in UINT_PTR uIDEvent);
?
hWnd 是窗口接收定时器的句柄。
nIDEvent 是定时器事件标识号。
uElapse 是定时器的毫秒值。
lpTimerFunc 是定时到达回调函数。
?
调用函数的例子如下:
#001?// 设置定时器。
#002????????????? ::SetTimer(m_hWnd,???????????? // 指向窗口的句柄。
#003?????????????????? IDT_TIMER1,??????????? // 定时器标识。
#004?????????????????? 1000,???????????????? // 1
#005?????????????????? (TIMERPROC) NULL);???? // 不使用回调函 数。
?
接收 WM_TIMER 消息并关闭定时器:
#001?case WM_TIMER:
#002???????? {
#003?????????????? if (IDT_TIMER1 == wParam)
#004?????????????? {
#005??????????????????? OutputDebugString(_T(" 定时器测试消息关闭 /r/n"));
#006?????????????????? ::KillTimer(m_hWnd,IDT_TIMER1);
#007?????????????? }
#008??????????????
#009???????? }
#010???????? break;
?

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读