对精度要求不高而且时间不长(太长容易搞成假死)就用sleep足够了Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds) As Long'声明Sleep(3000) '使用 停止3秒 精度要求高或者时间比较长就用GetTickCount Private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long '声明'要延迟的话这里给个简单范例Private Sub Delay (milliseconds) Dim time_start as long time_start = GetTickCount() Do While GetTickCount()-time_start<milliseconds DoEvents Loop End Sub
楼主试试上面这个,目前我一直使用的,不卡。
精度要求高或者时间比较长就用GetTickCount
Private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long '声明'要延迟的话这里给个简单范例Private Sub Delay (milliseconds)
Dim time_start as long
time_start = GetTickCount()
Do While GetTickCount()-time_start<milliseconds
DoEvents
Loop
End Sub