`

GetTickCount() 函数的作用和用法(转)

 
阅读更多

转自:http://www.cnblogs.com/jxsoft/archive/2011/10/17/2215366.html

DWORD GetTickCount(void);    

1) 定义

For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time that the system was suspended. GetTickCount starts at 0 on boot and then counts up from there.

在Release版本中,该函数从0开始计时,返回自设备启动后的毫秒数(不含系统暂停时间)。

For Debug configurations, 180 seconds is subtracted from the the number of milliseconds since the device booted. This allows code that uses GetTickCount to be easily tested for correct overflow handling.

在Debug版本中,设备启动后便从计时器中减去180秒。这样方便测试使用该函数的代码的正确溢出处理。

Return Values

The number of milliseconds indicates success.

返回值:如正确,返回毫秒数。

Header: Winbase.h.
Link Library: Coredll.lib.

2) 应用

用来计算某个操作所使用的时间:   

  Start:=GetTickCount;   
   ...//执行耗时的操作   
   Stop:=GetTickCount;   
   TimeUsed:=(Stop-Start)/1000;     //使用了xxx秒

用来定时  


void main() 
{
  DWORD dwLast;
  DWORD dwCurrent;
  DWORD dwInterval = 1000;
  dwLast = GetTickCount();
  int i = 0;
  while(true)
     {
        dwCurrent = GetTickCount();
        if( dwCurrent - dwLast < dwInterval )
        continue;
         //your code to be executed when interval is elapsed
        printf("dwLast,dwCurrent,diff:%d,%d,%d ",dwLast,dwCurrent,dwCurrent-dwLast);
         //your code to determine when to break
        if( i > 10 ) break;
        i++;
        dwLast = dwCurrent;
        printf("Time is up!");
        break;
     }

   getchar();   
   return;
}
 

对于一般的实时控制,使用GetTickCount()函数就可以满足精度要求,但要进一步提高计时精度,就要采用QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数。这两个函数是VC提供的仅供Windows   9X使用的高精度时间函数,并要求计算机从硬件上支持高精度计时器。

以上引用:

http://www.wesoho.com/article.asp?id=2072

http://bitboy.blog.edu.cn/user1/19986/archives/2005/1001846.shtml

分享到:
评论

相关推荐

    用GetTickCount API函数写的一个Timer 类[TimerClass1.rar]-精品源代码

    【标题】中的“用GetTickCount API函数写的一个Timer 类”指的是使用Windows API中的GetTickCount函数创建了一个计时器类。GetTickCount是Windows API提供的一种获取系统启动后经过的毫秒数的方法,它常用于实现简单...

    用GetTickCount API函数制作的定时器[TimerClass.rar]-精品源代码

    类中的方法和属性将详细说明如何使用`GetTickCount`来创建定时器功能。 - `frmArielTimerTest.frm`:这可能是测试定时器类的用户界面(UI)文件,包含了一些控件和事件处理代码,用于展示和测试`ArielTimer`的功能...

    VB中基于GetTickCount API函数的闹钟定时器

    需要注意的是,GetTickCount函数并不提供精确的时间间隔,因为它依赖于系统的计时器分辨率。对于需要高精度定时的任务,应考虑使用其他API,如`QueryPerformanceCounter`和`QueryPerformanceFrequency`。 此外,...

    解决GetTickCount长期不关机时间溢出问题

    `GetTickCount`函数是Windows API提供的一种获取系统启动至今经过的毫秒数的方法,它广泛用于计时和性能测试。然而,`GetTickCount`有一个显著的限制,即其返回值为32位无符号整数,这意味着它可以表示的最大时间为...

    vb6.0 GetTickCount反调试.rar

    GetTickCount函数在Windows API中提供,它返回系统启动以来的毫秒数,这个值可以用来检测程序是否在被调试。 在描述中提到的"VB-GetTickCount 反调试 爱琴海",可能是指一个特定的反调试策略,可能由"爱琴海"这个...

    利用gettickcount动态值和密码对文件进行加密

    在本文中,我们将深入探讨如何利用`GetTickCount`动态值和密码对文件进行加密,这是一种在VC++环境中实现数据动态位算法加密技术的方法。这种方法旨在提高文件的安全性,通过结合系统时间、运行时间和用户自定义密码...

    VC记时函数测试

    本项目“VC记时函数测试”聚焦于两个常用的Windows API计时函数:GetTickCount和timeSetEvent,这两个函数在不同的场景下有各自的应用。 首先,我们来看`GetTickCount`函数。这是一个简单的API,它返回系统启动以来...

    vb api 函数大全

    理解这些函数的用途和用法对编写底层或系统级程序至关重要。 6. **系统资源管理**:API函数常用于操作系统资源,如文件、内存、窗口等。例如,`GlobalAlloc`和`LocalFree`分别用于全局和局部内存分配和释放。 7. *...

    GetTickCount.zip

    `GetTickCount`函数在Windows API中扮演着这样的角色,它提供了一个简单的方法来获取系统启动以来经过的毫秒数,这对于调试、性能优化以及监控程序运行时的延迟都非常有用。然而,在批处理(bat)脚本中,由于其语言...

    线程、时间函数和设计问题

    在Windows环境中,可以使用`Sleep`函数来使当前线程暂停指定的毫秒数,或者使用`GetTickCount`获取系统启动以来的毫秒数。这些函数对于实现定时任务、动画效果和响应时间敏感的程序非常有用。 4. **有限状态自动机...

    延时函数精度测试(APi编程语言都能用)timeGetTime,QueryPerformanceCounter,gettickcount

    工程用VB6编写,其他语言用法也一样。 1000.0006 误差 00.00 CPU计时QueryPerformanceCounter 0999.3995 误差 00.60 timeGetTime 0989.1456 误差 10.85 gettickcount优化 0999.3569 误差 00.64 gettickcount

    Windows API函数在Visual Basic中的应用实例 近百个程序

    这些实例程序提供了很好的学习资源,可以帮助开发者快速掌握API函数的使用方法和应用场景。 此外,使用API函数时需要注意兼容性和错误处理。由于API函数直接与操作系统交互,不正确的使用可能导致程序崩溃或操作...

    Windows API 函数 for Visual Basic.rar_API_WIN API_Windows API函数 _

    在编程领域,Windows API(应用程序接口)是微软...`.chm`文件是深入学习的关键,它将提供详细的函数用法和实例,而`.txt`文件可能提供了一些额外的上下文或资源链接。务必仔细阅读这些文档,以充分利用提供的信息。

    Delphi函数大全(chm格式),Delphi函数与过程参考。

    2. **系统函数**:这些函数来自System单元,提供对操作系统和硬件的低级访问,如`GetTickCount`获取自系统启动以来的毫秒数,`CreateProcess`用于创建新的进程等。 3. **VCL组件方法**:Visual Component Library...

    真正的api函数大全

    "真正的api函数大全"可能是一个集合,包含了各种编程语言、操作系统或特定服务提供的API函数,这些函数经过精心整理和分类,便于开发者查找和使用。 API函数大全通常包括以下内容: 1. **操作系统API**:例如...

    VB-API函数使用手册

    每个类别下会列出相关函数,并解释其用途和用法。 3. **函数参数**:详细说明每个API函数的参数,包括参数类型、含义、可能的值以及是否可选。这有助于开发者正确传递参数,避免错误。 4. **示例代码**:提供实际...

    Windows时间函数大全.pdf

    文档将逐一解析每种时间函数的工作原理、使用方法及其精度特点,并提供简单的示例帮助理解。 ### 1. Sleep函数 #### 使用方式: - `Sleep(1000)`:在Windows系统中,`1000`代表1000毫秒,即1秒。 - 注意:在Linux...

    C# API 函数详解

    例如,`DllImport`特性用于标记P/Invoke方法,`kernel32.dll`是常见的Windows API库,其中包含许多系统级函数,如`GetTickCount`用于获取系统运行时间。 在《用C#调用Windows API实现自动登录.txt》中,可能会详细...

    VB声明API函数详解

    每个函数都有其特定的用途和使用方法,理解并熟练运用API函数能够极大地扩展VB的应用范围。 在开发过程中,开发者通常需要查阅Windows API文档或使用在线资源来找到所需的API函数及其参数信息。此外,`.chm`文件是...

    VB API函数参考手册

    这本书的详细内容可能包含了以上所有知识点的深入解析,每个API函数的使用方法、参数含义、返回值以及实际应用示例。对于VB开发者来说,是提高技能和解决实际问题的重要参考资料。通过学习和实践,开发者能够更好地...

Global site tag (gtag.js) - Google Analytics