码迷,mamicode.com
首页 > Windows程序 > 详细

2016-07-15: Window定时器使用

时间:2016-07-15 19:41:51      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

windows下定时器使用实例

#include <iostream>
#include <Windows.h>

using namespace std;

void TimerDemo()
{
    int count = 0;    // Iteration counter

    HANDLE hTimer = NULL;    // WaitableTimer handle
    hTimer = CreateWaitableTimer(    // Create waitable timer
        NULL,
        FALSE,    // Autoreset --> timer restarts counting after event fired
        NULL);

    SYSTEMTIME time;        // System time structure
    GetSystemTime(&time);    // Curren time
    time.wSecond += 3;        // Wait 3 sec

    FILETIME ftime;    // File time (expected by SetWaitableTimer)
    SystemTimeToFileTime(&time, &ftime);    // Convert system to file time


    if(!SetWaitableTimer(    // Set waitable timer
        hTimer,    // Timer handle
        reinterpret_cast<LARGE_INTEGER*>(&ftime),    // Convert file time to large integer
        200,    // Period time, fire again after 200ms
        NULL, 
        NULL,
        0))
    {
        cout << "SetWaitableTimer failed" <<  GetLastError() << endl;
    };

    cout << "Start Time " << GetTickCount() << endl;

    while(WaitForSingleObject(hTimer, 5000) == WAIT_OBJECT_0){    // Wait for timer event
        cout << "CALLED " << ++count << endl;
        if(count+1 > 50){    // Exit after 5 events
            break;
        }
    }

    cout << "End Time " << GetTickCount() << endl;

    CancelWaitableTimer(hTimer);    // Stop timer
    CloseHandle(hTimer);            // Delete handle

}

2016-07-15: Window定时器使用

标签:

原文地址:http://www.cnblogs.com/zhouLee/p/5674136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!