但實際上,在While循環裡面,Timer函數幾乎每次都得到相同的時間,只有大約隔了0.05秒才會得到不同的時間,也就是說Timer的准確性只有0.05秒,但我希望進行的工作卻是每0.005秒一次,該怎麼辦呢?可以改用WindowsAPI的timeGetTime函數,此一函數會傳回Windows開機以來所經過的時間,時間單位是1/1000秒,舉例來說,開機經過2分鐘,則傳回值等於2*60*1000,timeGetTime的優點是時間可以精確到1/1000秒,所以可以用來解決上述的問題,細節如下:
1.API的聲明:
PrivateDeclareFunctiontimeGetTimeLib"winmm.dll"Alias"timeGetTime"
()AsLong
注:如果以上的聲明放在「一般模塊」底下,應將Declare之前的Private保
留字去掉。
2.程序范例:
Dimtm1AsLong
Do
tm1=timeGetTime
WhiletimeGetTime-tm1<5'等於5/1000=0.005秒
DoEvents
Wend
...做某一件工作
Loop