Win32之SetTimer计时器
来源:互联网 发布:在线域名分析 编辑:程序博客网 时间:2024/06/09 01:44
SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。
SetTimer的函数原型如下:
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ) ;
其中
hWnd是和timer关联的窗口句柄,此窗口必须为调用SetTimer的线程所有;如果hWnd为NULL,没有窗口和timer相关联并且nIDEvent参数被忽略
nIDEvent是timer的标识,为非零值;如果hWnd为NULL则被忽略;如果hWnd非NULL而且与timer相关联的窗口已经存在一个为此标识的timer,则此次SetTimer调用将用新的timer代替原来的timer。timer标识和窗口相关,两个不同的窗口可以拥有nIDEvent相同的tiemr
uElapse是以毫秒指定的计时间隔值,范围为1毫秒到4,294,967,295毫秒(将近50天),这个值指示Windows每隔多久时间给程序发送WM_TIMER消息。
lpTimerFunc是一个回调函数的指针,俗称TimerFunc;如果lpTimerFunc为NULL,系统将向应用程序队列发送WM_TIMER消息;如果lpTimerFunc指定了一个值,DefWindowProc将在处理WM_TIMER消息时调用这个lpTimerFunc所指向的回调函数,因此即使使用TimerProc代替处理WM_TIMER也需要向窗口分发消息。
SetTimer的函数原型如下:
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ) ;
其中
hWnd是和timer关联的窗口句柄,此窗口必须为调用SetTimer的线程所有;如果hWnd为NULL,没有窗口和timer相关联并且nIDEvent参数被忽略
nIDEvent是timer的标识,为非零值;如果hWnd为NULL则被忽略;如果hWnd非NULL而且与timer相关联的窗口已经存在一个为此标识的timer,则此次SetTimer调用将用新的timer代替原来的timer。timer标识和窗口相关,两个不同的窗口可以拥有nIDEvent相同的tiemr
uElapse是以毫秒指定的计时间隔值,范围为1毫秒到4,294,967,295毫秒(将近50天),这个值指示Windows每隔多久时间给程序发送WM_TIMER消息。
lpTimerFunc是一个回调函数的指针,俗称TimerFunc;如果lpTimerFunc为NULL,系统将向应用程序队列发送WM_TIMER消息;如果lpTimerFunc指定了一个值,DefWindowProc将在处理WM_TIMER消息时调用这个lpTimerFunc所指向的回调函数,因此即使使用TimerProc代替处理WM_TIMER也需要向窗口分发消息。
- Win32之SetTimer计时器
- Win32 计时器消息 - WM_TIMER,SetTimer
- Win32 计时器消息 - WM_TIMER,SetTimer
- SetTimer 计时器是不精确的(WIN32 计时器)
- 计时器SetTimer
- SetTimer函数计时器
- [Win32]定时器SetTimer
- win32 SetTimer注意事项
- C++计时器的使用SetTimer
- Windows中的计时器(SetTimer和CreateWaitableTimer)
- VC++ MFC下使用计时器方法 SetTimer
- vc++之settimer
- 使用SetTimer,Windows无窗口计时器的实现
- win32 计时器使用(转载)
- <Win32_4>深入浅出Win32的计时器
- SetTimer
- SetTimer
- SetTimer
- 判断整数序列是不是二元查找树的后序遍历结果
- Vim简明教程【CoolShell】
- JAVA反射机制
- 实践jxl创建excel文件
- AVL树
- Win32之SetTimer计时器
- 批处理bat命令使用
- Google 地图切片URL地址解析
- linux编程进程
- 字节流与字符流的区别
- 我的greendao开发实践
- 运维工程师工作日记系列课程-视频分享
- 查询磁盘空间信息
- jFinal+AngularJs未来javaEE开发的趋势——程序员的福音