第 8 章 计时器

来源:互联网 发布:linux怎样进入grub 编辑:程序博客网 时间:2024/05/29 18:13

摘录于《Windows程序(第5版,珍藏版).CHarles.Petzold 著》P263

        Windows 计时器是一种输入设备,每到一个指定的时间间隔,它都会周期性地通知应用程序。程序告诉 Windows 这个时间间隔的长度,例如“每 10 秒种提醒我一次”。Windows 就会反复地向程序发送 WM_TIMER 消息,以表示该时间间隔已经过去。

        Windows 计时器初看上去好像没有键盘和鼠标这些输入设备重要。对许多程序来说也确实如此。但是计时器的用途超乎你的想象,除了对于哪些显示时间的程序,例如出现的任务栏上的 Windows 时钟和本章中的两个时钟程序,它还有更广泛的用途。下面是 Windows 计时器的其他一些应用,其中有一些看上去并不直观。

  • 多任务运行    虽然 Windows 98 是抢占式多任务环境,但是如果程序处理完消息后尽早地把控制权交还给 Windows,有的时候会更有效。如果程序必须完成大量的处理,它可以把一个任务分成许多小块,每当它收到一个 WM_TIMER 消息时,就处理一小块任务。
  • 保持更新进度报告    应用程序可以利用计时器实时地显示不断变化的信息,例如显示某项任务的系统资源或进程情况。
  • 实现自动存储功能    计时器可提醒 Windows 程序每隔一个指定的时间间隔就把用户的工作自动保存到磁盘上。
  • 终止程序的演示版    有些程序的演示版设定在它开始运行到一定时间后自动失效,例如 30 分钟。计时器可以提醒这样的程序,规定时间已过。
  • 控制运行速度    游戏中的图形对象或计算机辅助指令程序的连续显示也许需要以一定的速度进行。利用计时器可以消除因微处理器速度不同而造成的不均匀性
  • 多媒体    演奏 CD 音频、声音或者音乐的程序常常在后台播放音频数据。一个程序可以利用计时器的周期性确定有多少音频信号已经播放了,以协调屏幕视觉信息。

        可以从另一种角度想象计时器。它可以用来确保当程序离开窗口过程后,还能在将来的某个时间点重新获得控制权。因为通常应用程序很难知道何时才能收到下一条信息。

0 0