网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

Win32控制台程序的定时器实现

    在控制台中使用定时器不能简单的SetTimer了事,这在控制台里这种SetTimer的方式是有点麻烦的,需要自己写消息循环投递WM_TIMER消息。其实在控制台里可以使用多媒体时钟来计时:

    example:

    //启动计时器

    MMRESULT nIDTimerEvent = timeSetEvent(

    1000,//延时1秒

    0,

    TimeProc,

    0,

    (UINT)TIME_PERIODIC);

    if( nIDTimerEvent == 0 )

    cout《《“启动计时器失败”《《endl;

    //回调过程(时钟到来,回调函数被系统自动调用)

    void CALLBACK TimeProc(

    UINT uID,

    UINT uMsg,

    DWORD dwUser,

    DWORD dw1,

    DWORD dw2

    )

    {

    cout《《“时钟到来”《《endl;

    }

    当然了,你要是习惯于SetTimer,那就用SetTimer吧:

    下面是我在Console下用SetTimer写的一个例子:

    #include 《windows.h》

    #include 《iostream》

    using namespace std;

    void CALLBACK TimeProc(

    HWND hwnd,

    UINT message,

    UINT idTimer,

    DWORD dwTime);

    int main()

    {

    SetTimer(NULL,1,1000,TimeProc);

    MSG msg;

    while(GetMessage(&msg,NULL,0,0))

    {

    if(msg.message==WM_TIMER)

    {

    DispatchMessage(&msg);

    }

    }

    return 0;

    }

    void CALLBACK TimeProc(

    HWND hwnd,

    UINT message,

    UINT idTimer,

    DWORD dwTime)

    {

    cout《《“a timer comming”《《endl;

    }

热门搜索:TLP404 SS3612 PS361220 B40-8000-PCB 4SPDX RS-1215 2320306 UL17CB-15 B30-7100-PCB 2838322 N060-004 2320322 IS-1000 01M2251SFC3 PS-415-HG-OEM 2762265 TLP808TELTAA 2866666 TLP604TEL 02M1001JF PS-410-HGOEMCC 2866569 SBB8006-SS-1 SS480806 SBB1605-1
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质