Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As LongSLEEP 30
用SetTimer怎么表示?
新年第一帖,祝大家发啦!!
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As LongSLEEP 30
用SetTimer怎么表示?
新年第一帖,祝大家发啦!!
Option ExplicitPrivate Sub Command1_Click()
Dim StartTime As Date
StartTime = Now()
Do
Label1.Caption = DateDiff("S", StartTime, Now())
DoEvents
Loop Until CLng(DateDiff("S", StartTime, Now())) > 10
MsgBox "延时10秒到!"End Sub
http://blog.csdn.net/chenjl1031/archive/2011/01/31/6170676.aspx
其实方法很多
不下五种
关键是循环中一定要加上DoEvents
Dim lngTickStore As Long lngTickStore = timeGetTime Do While lngTickStore + MilliSeconds > timeGetTime
Sleep (10)
DoEvents
Loop
End Sub
既然主屏界面可以操作,定时精度肯定不高。
我估计用了SLEEP函数造成副屏幕抢了主屏幕的速度,这时候主屏幕操作速度就会下降一些。
在我的机器上CPU是2.20时延迟效果不明显,由于客户的机器的CPU只有1.50GHZ,所以延迟效果看的更加明显。
定时器就是到点了才做事,其余时间就是闲着。
http://download.csdn.net/source/752060