c++控制台程序实现定时器

#include "stdafx.h"  
#include <iostream>  
#include <Windows.h>  
  
using namespace std;  
  
void CALLBACK TimeProc(HWND hwnd,UINT message,UINT idTimer,DWORD dwTime);  
  
  
int _tmain(int argc, _TCHAR* argv[])  
{  
    SetTimer(NULL,1,1000,TimeProc);  
    MSG msg;  
    while (GetMessage(&msg,NULL,0,0))  
    {  
        if (msg.message == WM_TIMER)  
        {  
            DispatchMessage(&msg);  
        }  
    }  
    return 0;  
}  
int ncount = 0;  
void CALLBACK TimeProc(HWND hwnd,UINT message,UINT idTimer,DWORD dwTime)  
{  
    cout<<ncount++<<endl;  
}  /* 何问起 hovertree.com */
#include "stdafx.h"  
#include <ctime>  
#include <Windows.h>  
#include <conio.h>  
#include <stdio.h>  
  
  
int ncount = 0;  
  
void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT_PTR idEvent,DWORD dwTime)  
{  
    ncount++;  
  
}  
  
DWORD CALLBACK Thread(PVOID pvoid)  
{  
    MSG msg;  
    PeekMessage(&msg,NULL,WM_USER,WM_USER,PM_NOREMOVE);  
    UINT timerid = SetTimer(NULL,1,10000,TimerProc);  
    BOOL bRet;  
    while ((bRet = GetMessage(&msg,NULL,0,0)) != 0)  
    {  
        if (bRet == -1)  
        {  
            printf("Error:the thread will quit,error id is %d/n",GetLastError());  
            break;  
        }  
        else  
        {  
            TranslateMessage(&msg);  
            DispatchMessage(&msg);  
        }  
    }  
    KillTimer(NULL,timerid);  
    printf("thread end here/n");  
    return 0;  
  
}  
  
int _tmain(int argc, _TCHAR* argv[])  
{  
  
    HANDLE hThread = CreateThread(NULL,0,Thread,NULL,0,NULL);  
    _getch();  
    return 0;  
} /* 何问起 hovertree.com */

推荐:http://www.cnblogs.com/roucheng/p/cppjy.html

原文地址:https://www.cnblogs.com/roucheng/p/cppdingshiqi.html