前言
在Windows
下,定时器通常用于周期性地执行某些任务或在一定延迟后执行特定的操作。Windows
提供了一些API
函数来操作定时器,其中主要包括 SetTimer
、KillTimer
和 SetTimerProc
。
什么时候我们需要用到SetTimer
函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS
一个时间间隔,然后WINDOWS
以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER
消息和调用应用程序定义的回调函数。
1、SetTimer用于创建一个定时器
SetTimer
: 这个函数用于创建一个定时器,并指定定时器的时间间隔。其原型为:
UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄,指定定时器消息将发送到的窗口
UINT_PTR nIDEvent, // 定时器的标识符,用于标识定时器
UINT uElapse, // 定时器的时间间隔(毫秒)
TIMERPROC lpTimerFunc // 指向定时器过程函数的指针,可选
);
-
hWnd:
指定定时器消息将发送到的窗口句柄,如果为 NULL,则定时器消息会被发送到创建定时器时当前活动的窗口。 -
nIDEvent:
定时器的标识符,用于在定时器消息中区分不同的定时器。 -
uElapse:
定时器的时间间隔,以毫秒为单位。 -
lpTimerFunc:
指向定时器过程函数的指针,可选参数。如果指定了此参数,系统会在定时器超时时调用此函数。 -
当使用SetTimer函数的时候,就会生成一个计时器。函数中nIDEvent指的是计时器的标识,也就是名字。nElapse指的是时间间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是OnTimer函数。这个函数怎么生成的呢?你需要在需要计时器的类的生成