第六篇 Windows定时器

本文介绍了在Win32编程中如何使用定时器来实现计时功能,替代8086汇编中的中断计时。Windows的定时器基于时钟中断,精度为55ms,可能存在误差。文章通过代码示例、资源文件分享,详细展示了SetTimer和KillTimer的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家都知道在8086汇编中,我们可以直接利用int 8h中断来达到计时的目的。显然,Win32

编程是不会直接让用户来操作中断的。Windows提供了定时器来达到相同的目的。

当用户需要使用定时器时,要向Windows申请,SetTimer;结束时,需要释放,KillTmer。

需要注意的是,Windows定时器还是基于时钟中断的,所以精度是55ms。如果用户设定一个

任意时间产生中断,则可能存在一定的误差。

 

用法参见代码:

一、资源文件定义

#include		<resource.h>
#define	DLG_MAIN	1
#define	ICO_1		1
#define	ICO_2		2
#define	IDC_SETICON	100
#define	IDC_COUNT	101

ICO_1	ICON	"1.ico"
ICO_2	ICON	"2.ico"

DLG_MAIN	DIALOG	50,50,113,40
STYLE	DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "定时器例子"
FONT 9,"宋体"
{
	ICON ICO_1,IDC_SETICON,8,9,18,21
	LTEXT "计数:",-1,35,16,25,10
	LTEXT "",IDC_COUNT,62,16,40,10
}

 

二、主体代码

.386
.model	flat,stdcall
option	casemap:none

include		windows.inc
include		user32.in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值