关于WIN32 计时器的问题

初学WIN32编程!

关于WIN32的定时器问题?

有如下程序

unsigned int Num;//一个全局变量用来记录倒计时触发的次数

在窗口过程函数winproc函数的WM_CREATE消息中设置了定时器 SetTimer(hwnd,1,10000,timerproc)

然后在自定义的timerproc函数里有如下的响应代码

Num++;//触发一次变量自加一次

out(Num);//自定义的一个函数将该值输出到窗口客户区

MessageBox(NULL, “计时器响应一次”,“”,0);

运行结果有点奇怪,入口有MessageBox(NULL, “计时器响应一次”,“”,0);运行结果和预想的是一样的,10秒中加一次,但若删除这个弹窗后前一个10秒正常,10秒一过,程序就疯狂输出,瞬间Num就成百上千了?何故?
不用自定的计时器响应函数timerproc改使用系统的WM_TIMER消息也是同样的结果!求解!

不想通过KillTimer来销毁定时器,我希望定时器每隔一段时间就发送一条(只发送一条)WM_TIMER消息!
但事实上倒计时一结束,WINDOWS好像发了无数条WM_TIMER?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^