CreateWaitableTimer编译通不过

  #define   _WIN32_WINNT   0x0400   

 #include   <windows.h>

原因是:这个函数在winbase.h中是条件编译,需要_WIN32_WINNT   >=   0x0400才声明CreateWaitableTimer,但是在windows.h和winbase.h中都未定义

CreateWaitableTimer实例

#define   _WIN32_WINNT   0x0400

#include   <windows.h>
#include   <process.h>
#include   <stdio.h>

unsigned   __stdcall   TF(void*   arg)   {
    HANDLE   timer=(HANDLE)   arg;

    while   (1)   {
        WaitForSingleObject(timer,INFINITE);
        printf( ". ");
    }

}

int   main(int   argc,   char*   argv[])   {

    HANDLE   timer   =   CreateWaitableTimer(
        0,
        false,   //   false=> will   be   automatically   reset
        0);         //   name

    LARGE_INTEGER   li;

    const   int   unitsPerSecond=10*1000*1000;   //   100   nano   seconds

    //   Set   the   event   the   first   time   2   seconds
    //   after   calling   SetWaitableTimer

    li.QuadPart=-(2*unitsPerSecond);
    SetWaitableTimer(
        timer,
        &li,
        750,       //   Set   the   event   every   750   milli   Seconds
        0,
        0,
        false);

    _beginthreadex(0,0,TF,(void*)   timer,0,0);

    //   Wait   forever,  
    while   (1)   ;

    return   0;
}

原帖:http://www.adp-gmbh.ch/win/misc/timer.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值