为什么它一直输出,而不是按我说的每五秒输出一次呢?

#include"windows.h"
#include"iostream.h"
main()
{
#define ID_TIMER 1
SetTimer(NULL,ID_TIMER,5000,NULL);
while(1){
cout<<"你好!"<<endl;
}
}
把OnTimer()代码也写好让程序可以按我说的运行好不?
不好意思,我很笨。

茅侃侃
浏览 238回答 4
4回答

一只甜甜圈

你那是在启动一个计时器之后进入一个死循环,“你好”之所以不停地出现就是因为这个死循环啊。计时器一般不是这么用的,SetTimer()是设定计时器间隔时间,每个一定时间会自动产生WM_TIMER消息,你可以重载OnTimer()函数来处理这个消息,当然首先要添加消息映射ON_WM_TIMER()

慕少森

把你的cout<<"你好!"<<endl; 加到OnTimer()函数中去就行了计时器的原理是每隔一段固定时间,调用OnTimer()函数所以要在OnTimer()函数中干你要做的事情

红糖糍粑

#include<windows.h>#include<iostream.h>int main(){int helloTime=0;while(helloTime<5){cout<<"你好"<<endl;Sleep(5000);helloTime++;}return 0;}

呼唤远方

你还要OnTimer干啥,你的main()执行完了就死掉了,谁还去找OnTimer啊.用Sleep不就完了吗?
打开App,查看更多内容
随时随地看视频慕课网APP