根据MSDN GetTickCount API 仅当系统没有连续运行 49.7 天时才返回系统经过时间。如果它的运行超过这个,它将返回 0。
有没有人遇到过这个API在运行超过49.7天的系统上实际返回0的事件?
我需要根据 GetTickCount 报告的值做出一些决定,如果我发现 0,我会将其视为特殊情况并要求用户重新启动系统。
当滴答计数结束时,它会返回0但继续计数。所以,你可以得到的值以下顺序:4294967295,0,1,2等等。与您的怀疑相反,滴答计数不会滚动到0然后永远保持在那里。在滚动后,滴答计数继续向上计数。
要求用户重新启动机器,因为您的程序不能计算超过 2 32似乎是一个相当弱的问题解决方案。您应该正确解决问题。也许使用GetTickCount64,或者确实是其他一些不会翻转的时间测量。
| 归档时间: |
|
| 查看次数: |
1143 次 |
| 最近记录: |