关于timeSetEvent()函数的疑问

Leo_red 2009-05-22 05:43:19
学者使用过timeSetEvent函数,原型如下:
MMRESULT timeSetEvent( UINT uDelay,
UINT uResolution,
LPTIMECALLBACK lpTimeProc,
WORD dwUser,
UINT fuEvent )

uDelay:以毫秒指定事件的周期。
Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。
LpTimeProc:指向一个回调函数。
DwUser:存放用户提供的回调数据。
FuEvent:指定定时器事件类型:
TIME_ONESHOT:uDelay毫秒后只产生一次事件
TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。

我的程序设置几分钟这样的情况,这个定时器运行正常.但是我设置了3600000毫秒(1个小时),发现怎么定时器的回调函数就是进不来.我得设置方式为:
mr = timeSetEvent(3600000, 0,TimerbackProc,(unsigned long)this,TIME_PERIODIC);

那位大侠熟悉此函数,请来解惑阿!
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leo_red 2009-05-25
  • 打赏
  • 举报
回复
UINT的范围?VC6下面UINT(unsigned int)的范围是多少阿?
不应该是四个字节,0~2^32-1(4394967295)吗?

还是仅仅是超出了定时器的范围?
这个定时器的最大范围是多少呢?
感谢各位赐教阿!
Leo_red 2009-05-25
  • 打赏
  • 举报
回复
哦!长进不少,感谢哈!
biweilun 2009-05-25
  • 打赏
  • 举报
回复
TIMECAPS tc;
timeGetDevCaps(&tc, sizeof(TIMECAPS));
tc.wPeriodMax 这是最长的周期

这种多媒体定时只能1000000 之内
feilinhe 2009-05-23
  • 打赏
  • 举报
回复
3600000超出了UINT的范围
  • 打赏
  • 举报
回复
uDelay的范围是多少
biweilun 2009-05-22
  • 打赏
  • 举报
回复
uDelay过大,超出定时器范围了。
闪破风浪 2009-05-22
  • 打赏
  • 举报
回复
啊,不解,为什么这样用?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧