网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 设计应用 > 正文
  • RSS
  • Win32控制台程序的定时器实现
    http://www.ic72.com 发布时间:2010/12/10 11:22:16

        在控制台中使用定时器不能简单的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;

        }


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质