本文主要是介绍WM_TIMER,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SetTimer与KillTimer的问题:
{
请问对于同一定时器时间,可否多次使用SetTimer与KillTimer。
比如某时刻开始需要定时100ms,在这里创建定时器A,100ms后,定时器事件处理完毕调用KillTimer。再过一段时间又需要定时100ms,可不可以这样反复创建和销毁定时器呢?
没问题
SetTimer多少次都可以,系统只是将这个定时器重置了
但是不能连续两次KILL同一个timer
反复SetTimer与KillTimer好像是很残酷,其实没有任何问题。
}
uElapse
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.
...
其中的USER_TIMER_MINIMUM和USER_TIMER_MAXIMUM的定义如下:
#define USER_TIMER_MAXIMUM 0x7FFFFFFF
#define USER_TIMER_MINIMUM 0x0000000A
用计算器换算一下,只要不超过这个值就可以
这篇关于WM_TIMER的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!