如何编写控制台定时器实例代码?

2026-05-20 07:491阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计511个文字,预计阅读时间需要3分钟。

如何编写控制台定时器实例代码?

本篇研究C++控制台程序中定时器的相关实例,具体如下:

+ Timer在MFC程序中的应用+ MFC中有一个非常好用的定时器函数+ 使用SetTimer()设置定时器+ 使用KillTimer()关闭定时器+ 在OnTimer中处理定时器事件

如何编写控制台定时器实例代码?

本文研究的主要是C++控制台用定时器的相关实例,具体如下。

Timer在MFC程序中的使用

在MFC中有一个很好用的定时器函数。

  • 使用SetTimer()进行设置定时器
  • 使用KillTimer()关闭定时器
  • 在OnTimer()函数中,响应WM_TIMER这个消息,也就是定时器的处理函数。

源代码

#define TIMER_UDP_QFX 3//定时器的ID int Period = 1000;//1000ms的定时器 //设置一个定时器 SetTimer(TIMER_UDP_QFX, Period, NULL); //在定时器处理函数中设置自己的处理代码 void CFlightMissionPage::OnTimer(UINT_PTR nIDEvent) { //UPD 更新界面 if (TIMER_UDP_QFX == nIDEvent) {//如果定时器ID是 TIMER_UDP_QFX 时,进行处理 //······ //处理代码 //······ } } //不需要定时器时,关闭定时器 KillTimer(TIMER_UDP_QFX);

Timer在控制台程序中的使用

在对实时指标不是非常苛刻时,这个功能可以帮助我们完成很多功能。那么问题来了,这个可以用在一般控制台程序中吗?答案当然是肯定的。

需要用的函数

UINT_PTR SetTimer( HWND hWnd, // handle to window UINT_PTR nIDEvent, // timer identifier UINT uElapse, // time-out value TIMERPROC lpTimerFunc // timer procedure ); VOID CALLBACK TimerProc( HWND hwnd, // handle to window UINT uMsg, // WM_TIMER message UINT_PTR idEvent, // timer identifier DWORD dwTime // current system time );

源代码

#include <Windows.h> //控制台消息响应 void CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) { if(1 == idEvent) {//如果是定时器1 ::MessageBeep(0);//Beep叫 } } int main() { int TimerID = 1;//Timer的ID是1 int peried = 1000;//Timer的间隔是 1000ms //设置Timer ::SetTimer(NULL, TimerID, peried, &TimerProc); ::MSG msg; while(::GetMessage(&msg, NULL, 0, 0)) { ::DispatchMessage(&msg); } }

总结

以上就是本文关于C++控制台用定时器实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

本文共计511个文字,预计阅读时间需要3分钟。

如何编写控制台定时器实例代码?

本篇研究C++控制台程序中定时器的相关实例,具体如下:

+ Timer在MFC程序中的应用+ MFC中有一个非常好用的定时器函数+ 使用SetTimer()设置定时器+ 使用KillTimer()关闭定时器+ 在OnTimer中处理定时器事件

如何编写控制台定时器实例代码?

本文研究的主要是C++控制台用定时器的相关实例,具体如下。

Timer在MFC程序中的使用

在MFC中有一个很好用的定时器函数。

  • 使用SetTimer()进行设置定时器
  • 使用KillTimer()关闭定时器
  • 在OnTimer()函数中,响应WM_TIMER这个消息,也就是定时器的处理函数。

源代码

#define TIMER_UDP_QFX 3//定时器的ID int Period = 1000;//1000ms的定时器 //设置一个定时器 SetTimer(TIMER_UDP_QFX, Period, NULL); //在定时器处理函数中设置自己的处理代码 void CFlightMissionPage::OnTimer(UINT_PTR nIDEvent) { //UPD 更新界面 if (TIMER_UDP_QFX == nIDEvent) {//如果定时器ID是 TIMER_UDP_QFX 时,进行处理 //······ //处理代码 //······ } } //不需要定时器时,关闭定时器 KillTimer(TIMER_UDP_QFX);

Timer在控制台程序中的使用

在对实时指标不是非常苛刻时,这个功能可以帮助我们完成很多功能。那么问题来了,这个可以用在一般控制台程序中吗?答案当然是肯定的。

需要用的函数

UINT_PTR SetTimer( HWND hWnd, // handle to window UINT_PTR nIDEvent, // timer identifier UINT uElapse, // time-out value TIMERPROC lpTimerFunc // timer procedure ); VOID CALLBACK TimerProc( HWND hwnd, // handle to window UINT uMsg, // WM_TIMER message UINT_PTR idEvent, // timer identifier DWORD dwTime // current system time );

源代码

#include <Windows.h> //控制台消息响应 void CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) { if(1 == idEvent) {//如果是定时器1 ::MessageBeep(0);//Beep叫 } } int main() { int TimerID = 1;//Timer的ID是1 int peried = 1000;//Timer的间隔是 1000ms //设置Timer ::SetTimer(NULL, TimerID, peried, &TimerProc); ::MSG msg; while(::GetMessage(&msg, NULL, 0, 0)) { ::DispatchMessage(&msg); } }

总结

以上就是本文关于C++控制台用定时器实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!