[转]关于Win32 Console的计时器

这是关于Win32 Console计时器的例子:   你可以使用2种方法进行计时器的实现  第一种是通过系统回调来实现的  

C++代码
       应该包含的头文件
      #include "mmsystem.h"
      #pragma comment(lib, "winmm.lib")
  1.     
  2. void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)       
  3. {       
  4.     printf_s("The system timer callback . /n");       
  5. }       
  6. int main()       
  7. {       
  8.     //Start the timer.      
  9.     MMRESULT nIDTimerEvent = timeSetEvent(1000, 0, TimeProc, 0, (UINT)TIME_PERIODIC);       
  10.     if( nIDTimerEvent == 0 )       
  11.         printf_s("Run the timer is bad . /n/n");       
  12.       
  13.     while(true)       
  14.     {       
  15.         Sleep(15);       
  16.     }       
  17.       
  18.     return 0;       
  19. }  

  第二种是通过对WM_TIMER的响应,通过消息循环来做,可以用到熟悉的SetTimer.  

C++代码
  1.     
  2. void CALLBACK TimeProc( HWND hwnd, UINT message, UINT idTimer, DWORD dwTime)      
  3. {       
  4.    printf_s("The timer callback ./n");       
  5. }       
  6.       
  7. int main()      
  8. {       
  9.      SetTimer(NULL,1,1000,TimeProc);       
  10.       
  11.      MSG   msg;         
  12.       
  13.      while(GetMessage(&msg,NULL,0,0))         
  14.      {         
  15.           if(msg.message==WM_TIMER)         
  16.           {         
  17.                DispatchMessage(&msg);         
  18.          }         
  19.      }         
  20.      return 0;       
  21. }  

  我自己是用的第二种,不过基于时间上的东西还有很多~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值