无聊的很,来翻译一下CSDN上的定时器
来源:互联网 发布:c语言入门自学看什么书 编辑:程序博客网 时间:2024/04/29 10:50
MSDN上按照下面方法定义SetTimer函数的
The SetTimer function creates a timer with the specified time-out value.
//SetTimer函数创建一个指定时间间隔的定时器
Syntax
UINT_PTR SetTimer(
HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);
Parameters
- hWnd
- [in] Handle to the window to be associated with the timer. This window must be owned by the calling thread. If this parameter is NULL, no window is associated with the timer and the nIDEvent parameter is ignored.
- //指向与与定时器相关的窗口,这个窗口必须拥有调用该定时器的线程.如果该参数是NULL那么该timer的ID将被忽略,也就是该timer失效.
- nIDEvent
- [in] Specifies a nonzero timer identifier. If the hWnd parameter is NULL, this parameter is ignored. If the hWnd parameter is not NULL and the window specified by hWnd already has a timer with the value nIDEvent, then the existing timer is replaced by the new timer. When SetTimer replaces a timer, the timer is reset. Therefore, a message will be sent after the current time-out value elapses, but the previously set time-out value is ignored.
- //这个函数将被忽略,如果参数hWnd 为NULL,如果系统已经有 了一个timer的ID和这个新设置的ID相同,那么这个新的ID将取代旧的ID,当目前的时间片到的时候,一个消息将要被发送,以前的时间设置的值将被取消.
- uElapse
- [in] Specifies the time-out value, in milliseconds.
- //指定时间间隔
Windows NT/2000/XP: If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to 1.
Windows 2000/XP: If uElapse is less than USER_TIMER_MINIMUM, the timeout is set to USER_TIMER_MINIMUM.
Windows Server 2003: If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to USER_TIMER_MAXIMUM.
Windows XP SP2/Windows Server 2003 SP1: If uElapse is less than USER_TIMER_MINIMUM, the timeout is set to USER_TIMER_MINIMUM. If uElapse is greater than USER_TIMER_MAXIMUM, the timeout is set to USER_TIMER_MAXIMUM.
- lpTimerFunc
- [in] Pointer to the function to be notified when the time-out value elapses. For more information about the function, see TimerProc. If lpTimerFunc is NULL, the system posts a WM_TIMER message to the application queue. The hwnd member of the message's MSG structure contains the value of the hWnd parameter.
- //如果该参数是NULL,那么系统将发送WM_TIMER到消息队列, MSG结构中的hwnd 将包含hWnd 参数.如果该参数不是NULL,那么当时间到达的时候,将调用TimerProc.函数
Return Value
If the function succeeds and the hWnd parameter is NULL, the return value is an integer identifying the new timer. An application can pass this value to the KillTimer function to destroy the timer.
//当参数hWnd 为NULL而且函数运行成功后,返回一个整数表明新的timer.应用程序通过这个值调用KillTimer 函数去销毁这个timer.
If the function succeeds and the hWnd parameter is not NULL, then the return value is a nonzero integer. An application can pass the value of the KillTimer parameter to the KillTimer function to destroy the timer.
//反之,返回值是一个非领的整数,应用程序能通过KillTimer 这个值去调用 函数去调用 KillTimer 销毁timer.
If the function fails to create a timer, the return value is zero. To get extended error information, call GetLastError.
//函数失败,返回值是领,要得到更多的错误信息参看GetLastError.
Remarks
An application can process WM_TIMER messages by including a WM_TIMER case statement in the window procedure or by specifying a TimerProc callback function when creating the timer. When you specify a TimerProc callback function, the default window procedure calls the callback function when it processes WM_TIMER. Therefore, you need to dispatch messages in the calling thread, even when you use TimerProc instead of processing WM_TIMER.
The wParam parameter of the WM_TIMER message contains the value of the nIDEvent parameter.
The timer identifier, nIDEvent, is specific to the associated window. Another window can have its own timer which has the same identifier as a timer owned by another window. The timers are distinct.
SetTimer can reuse timer IDs in the case where hWnd is NULL.
- 无聊的很,来翻译一下CSDN上的定时器
- 无聊来测试一下
- 无聊的时候,在csdn上看到的笑话
- 来用一下csdn的blog
- OpenGL ES无聊的翻译
- 测试一下csdn上的博客怎么样
- 2007年了,来我的CSDN-blog踩一下
- 闲来无聊,网上转转,在自己的博客上留下一笔。
- 无聊的寒假来学习黑客
- 闲来无聊编译了一下ffmpeg
- 无聊的CSPROJ 文件,很无聊
- 很无聊的东西
- 无聊的很
- 很无聊的博客
- 真的很无聊!!!
- 顺便贴一下无聊的Java作业20151027
- mark一下,抽空来翻译
- 无聊的
- I Must Have Been Crazy!
- [Eclipse笔记]How about NetBeans?
- 基于RUP的应考复习过程管理(二)
- The shifting preoccupations of the 20th century and the early years of the 21st.
- Turbo C下的寄存器变量
- 无聊的很,来翻译一下CSDN上的定时器
- Think of me.
- some useful links
- DIV与样式排版学习笔记!
- 集合论史传(转自北大未名站)
- JDBC接入ACCESS实例
- 如何产生一个随机排列?(弱问)
- 悲怆:IT人的一声叹息->一个程序员的自白[转帖]
- 【收藏】SQL语句优化技术分析