那你就自己做个吧,用几个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 LongPublic Enum DELAY_UNIT us = 1000000 ms = 1000 s = 1 End EnumPublic 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
Private Declare Function QueryPerformanceCounter Lib "kernel32" (lpPerformanceCount As Currency) As Long
Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Currency) As LongPublic Enum DELAY_UNIT
us = 1000000
ms = 1000
s = 1
End EnumPublic 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