小甲鱼 发表于 2016-5-11 16:56:20

GetTickCount

注:本文档由 百日维新 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

GetTickCount 函数用于返回操作系统自启动起所经过的毫秒数,多达 49.7 天(因为返回值以 32 位的双字类型 DWORD 存储,因此可以存储的最大值是 2^32-1 ms,约为 49.71 天,因此若系统运行时间超过 49.71 天时,这个数就会归 0)。


API 函数原型:

DWORD WINAPI GetTickCount(void);

参数解析:

该函数没有参数。


返回值:

返回自操作系统启动起所经过的毫秒数。


备注:

1. GetTickCount 函数的结果受限于系统定时器的精度,通常误差是在 10 毫秒到 16 毫秒波动。GetTickCount 函数的结果不受 GetSystemTimeAdjustment 函数校准时间影响。

2. 系统运行时间存储在一个 DWORD 值中。因此,如果系统连续运行了 49.7 天时间将归零。可以调用 GetTickCount64 函数避免这个问题。否则,当获取时间时,要检查溢出条件。

3. 如果您需要一个更高精度的计时器,可以使用多媒体定时器或高精度计时器。

4. 注册键 HKEY_PERFORMANCE_DATA 性能数据的系统开机时间计数器储存计算机从启动所经过的毫秒数。返回的值是一个 8 字节的值。更多有关信息,请参见 Performance Counters。

5. 使用 QueryUnbiasedInterruptTime 函数获得从系统启动在工作状态的时间。

注意:因为中断时间计数和毫秒计数的时间大约为 49 天,QueryUnbiasedInterruptTime 函数在 Windows ("checked") 构建的调试程序中会产生不同的结果。除非系统已经运行了很长一段时间,否则这有助于定位那些不经常发生的错误。Microsoft Developer Network (MSDN) 网站订阅 MSDN 可以获取检查构建相关信息。


需求:


Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Minimum supported phone Windows Phone 8
HeaderWinbase.h (包含于 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

页: [1]
查看完整版本: GetTickCount