Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Call Sleep(1)延迟最小的单位是多少啊?
有没有比sleep(1)小的? --------------------编程问答-------------------- sleep(0)啊,去看msdn上sleep函数说明。 --------------------编程问答-------------------- 飘过 --------------------编程问答-------------------- 那你就自己做个吧,用几个api读取cpu时钟等实现,能到微妙级,sleep是毫秒级的!
--------------------编程问答-------------------- 路过..... --------------------编程问答-------------------- 瞟过... --------------------编程问答-------------------- 同飘... --------------------编程问答-------------------- 再飘 --------------------编程问答-------------------- 继续飘 --------------------编程问答-------------------- 有意思
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long
Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As Long
Public Enum DELAY_UNIT
us = 1000000
ms = 1000
s = 1
End Enum
Public Sub Delay(curTime As Currency, udtUnit As DELAY_UNIT)
Dim Ctr1 As Currency, Ctr2 As Currency, Ctr3 As Currency, Freq As Currency
QueryPerformanceFrequency Freq '获取cpu的频率
QueryPerformanceCounter Ctr1 '获取cpu走过的周期
Do
QueryPerformanceCounter Ctr2 '获取cpu走过的周期
Ctr3 = (Ctr2 - Ctr1) * udtUnit / Freq
If Ctr3 > curTime Then
Exit Do
End If
Loop
End Sub
补充:VB , API