C++控制台用定时器实例代码

 更新时间:2018年02月03日 16:01:06   作者:祥知道  
这篇文章主要介绍了C++控制台用定时器实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

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

相关文章

  • C++ stack与queue模拟实现详解

    C++ stack与queue模拟实现详解

    这篇文章主要给大家介绍了关于c++stack与queue模拟实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧
    2021-08-08
  • C语言版实现链队列

    C语言版实现链队列

    这篇文章主要为大家详细介绍了C语言版实现链队列,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • C语言与java语言中关于二维数组的区别

    C语言与java语言中关于二维数组的区别

    这篇文章主要介绍了C语言与java语言中关于二维数组的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • C语言算法打卡回文串验证算法题解

    C语言算法打卡回文串验证算法题解

    这篇文章主要为大家介绍了C语言算法打卡万人千提的leetcode回文串的验证算法题解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • C语言采用文本方式和二进制方式打开文件的区别分析

    C语言采用文本方式和二进制方式打开文件的区别分析

    这篇文章主要介绍了C语言采用文本方式和二进制方式打开文件的区别分析,有助于读者更好的理解文本文件与二进制文件的原理,需要的朋友可以参考下
    2014-07-07
  • c语言数据结构与算法之顺序表的定义实现详解

    c语言数据结构与算法之顺序表的定义实现详解

    这篇文章主要介绍了c语言数据结构与算法之顺序表的定义实现详解,用顺序存储的方式实现线性表顺序存储,把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现,需要的朋友可以参考下
    2023-08-08
  • C++位操作实战掩码、提取与组装

    C++位操作实战掩码、提取与组装

    在C++编程中,位操作是基础而强大的技术,允许在二进制级别上操作数据,对性能优化、内存节省和底层硬件控制至关重要,文章探讨了掩码操作、字节提取与组装等技术,并介绍了bitset类模板的使用,帮助处理二进制数据,通过实例解析如何设置、清除、检查特定位
    2024-10-10
  • C语言金币阵列问题解决方法

    C语言金币阵列问题解决方法

    这篇文章主要介绍了C语言金币阵列问题解决方法,主要涉及数组的灵活运算,是一类非常经典的算法,需要的朋友可以参考下
    2014-09-09
  • 使用C++开发一个串口读写软件的实现步骤

    使用C++开发一个串口读写软件的实现步骤

    这篇文章主要介绍了使用xmake(一个项目管理工具兼包管理工具)和asio2(一个asio的框架,可以实现轻松各种网络应用,一般支持tcp,udp,http,websocket,rpc,ssl,icmp,serial_port.)来快速的开发个串口读写软件(整合例程),需要的朋友可以参考下
    2025-04-04
  • C语言正则表达式详解 regcomp() regexec() regfree()用法详解

    C语言正则表达式详解 regcomp() regexec() regfree()用法详解

    C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),这里就为大家介绍一下,需要的朋友可以参考一下啊
    2018-04-04

最新评论