Windows程序设计 读书笔记 - 计时器。

一、计时器工作原理:

    windows计时器是基于PC的硬件和ROM BIOS构造的计时器逻辑的一种相对简单的扩展。

    对于每个拥有计时器的程序,windows保存一个每次硬件计时器滴答减少的次数,当减少为0时,windows就在应用程序消息队列中放置一个WM_TIMER消息,并将计数重新置为最初的值。

    WM_TIMER的位置是在应用程序的消息队列里,所以他不是异步的,而是跟其他消息一起参加排序。如果在接受到WM_TIMER消息时,应用程序刚好在处理其他消息,那WM_TIMER就要被延后执行。

    WM_TIMER和WM_PAINT一样,消息队列中不能存在多个WM_TIMER消息,如果一个新的WM_TIMER消息加进队列时,发现已经有一个了,那两个就会合并为一个。

 

二、KillTimer后,计时器停止,但已经产生的WM_TIMER消息会继续执行。

 

三、用回调函数处理计时器事务。

    static void CALLBACK TimerProc(HWND hwnd,UINT message,UINT iTimerID,DWORD dwTime);

    SetTimer(2,1000,TimerProc);

    回调函数必须是静态成员函数,或者是全局函数。

    用回调函数后,OnTimer()函数里的内容就不会被执行了。

 

四、不指定窗口和id的计时器

  int timerID = SetTimer(NULL,0,1000,TimerProc);

  KillTimer(NULL,timerID);

转载于:https://www.cnblogs.com/aoyihuashao/archive/2010/04/19/1715209.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值