日期:2014-05-17  浏览次数:21804 次

C#自己写的delay延时函数
[code=csharp]static void Delay(uint ms) {
    uint start = GetTickCount();
    while (GetTickCount() - start < 1000ms) {
        Application.DoEvents();
    }
}


GetTickCount()是获取的开机时间吗?GetTickCount()-start指的是什么?
如果是当前时间-开机的时间怎么会小于1000ms呢?
如:8:00am开机,现在是9:00am==》GetTickCount()-start该如何理解?是一个小时的毫秒数吗?
菜鸟请求大神帮忙解答,感谢![/code]

------解决方案--------------------
GetTickCount()用于获取自windows启动以来经历的时间长度(毫秒) ,是一个可以继续响应操作,而且精度高的延时函数,
gettickcount()精确到55ms(1个tick就是55ms)
using System.Runtime.InteropServices; 
[DllImport("kernel32.dll")]  
 static extern uintGetTickCount();

http://www.4fang.net/D4/29627.html