C++控制台用定时器实例代码
本文研究的主要是C++控制台用定时器的相关实例,具体如下。
Timer在MFC程序中的使用
在MFC中有一个很好用的定时器函数。
- 使用SetTimer()进行设置定时器
- 使用KillTimer()关闭定时器
- 在OnTimer()函数中,响应WM_TIMER这个消息,也就是定时器的处理函数。
源代码
#defineTIMER_UDP_QFX3//定时器的ID intPeriod=1000;//1000ms的定时器 //设置一个定时器 SetTimer(TIMER_UDP_QFX,Period,NULL); //在定时器处理函数中设置自己的处理代码 voidCFlightMissionPage::OnTimer(UINT_PTRnIDEvent) { //UPD更新界面 if(TIMER_UDP_QFX==nIDEvent) {//如果定时器ID是TIMER_UDP_QFX时,进行处理 //······ //处理代码 //······ } } //不需要定时器时,关闭定时器 KillTimer(TIMER_UDP_QFX);
Timer在控制台程序中的使用
在对实时指标不是非常苛刻时,这个功能可以帮助我们完成很多功能。那么问题来了,这个可以用在一般控制台程序中吗?答案当然是肯定的。
需要用的函数
UINT_PTRSetTimer(HWNDhWnd,//handletowindow UINT_PTRnIDEvent,//timeridentifier UINTuElapse,//time-outvalue TIMERPROClpTimerFunc//timerprocedure ); VOIDCALLBACKTimerProc( HWNDhwnd,//handletowindow UINTuMsg,//WM_TIMERmessage UINT_PTRidEvent,//timeridentifier DWORDdwTime//currentsystemtime );
源代码
#include//控制台消息响应 voidCALLBACKTimerProc(HWNDhwnd,UINTuMsg,UINTidEvent,DWORDdwTime) { if(1==idEvent) {//如果是定时器1 ::MessageBeep(0);//Beep叫 } } intmain() { intTimerID=1;//Timer的ID是1 intperied=1000;//Timer的间隔是1000ms //设置Timer ::SetTimer(NULL,TimerID,peried,&TimerProc); ::MSGmsg; while(::GetMessage(&msg,NULL,0,0)) { ::DispatchMessage(&msg); } }
总结
以上就是本文关于C++控制台用定时器实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!