如题:
    主要是想用VC++6.0实现倒计时,具体功能类似网吧管理系统的倒计时,比如交了2元上网费,1小时上网时间倒计时,同时也有其他的上网用户,在界面中显示用户名和所剩的时间,精确到秒,如何实现这样的倒计时,请高手指点!谢谢!

解决方案 »

  1.   

    settimer建立定时器,自己写callback函数
      

  2.   

    这个用定时器就可以了,WM_TIMER
      

  3.   

    settimer(1,100000//时间...)
    settimer(2,1000//1秒...)
    OnTimer(UINT_PTR nIDEvent)
    {
         if(nIDEvent == 2)
        {
            ///显示
        }
        if(nIDEvent == 2)
        {
          //处理
           Killtimer(1);
           Killtimer(2);
        }
    }
      

  4.   

    WM_TIMER 不太精确,在运行大的程序,比如玩游戏等,有可能导致时钟变慢。
    解决的办法是在网上找一个精确计时的类,好像叫 CTimerSet 啥的。
    这样你在这个里面再去更新时间显示就比较准确了。
      

  5.   

    多任务系统是不可能完全准确的,从理论上就不可能,因此你下载的那个90%以上和WM_TIMER一样
    对于秒级的精度一般还是能满足的,除非他CPU特别忙
      

  6.   

    谢谢几位高手的精彩回答,我以前没用过WM_TIMER消息,请问在程序执行过程当中,执行了此消息处理函数,那么处理完此函数,程序还能返回的执行前的地方执行吗?怎样才能使其和中断处理一样呢?谢谢!
      

  7.   

    谢谢楼上的回答,这个我知道。就是不明白在程序执行过程当中,执行了WM_TIMER处理函数,那么处理完此函数,程序还能返回的执行前的地方执行吗?怎样才能使其和中断处理一样呢?
      

  8.   

    程序还能返回的执行前的地方执行吗?   能,线程内函数是同步执行的
    怎样才能使其和中断处理一样呢? WM_TIMER消息本来就是系统中断产生的,当到达指定的时间间隔后,系统就给消息队列post一个消息