複製鏈接
請複製以下鏈接發送給好友

timeGetTime

鎖定
函數以毫秒計的系統時間。該時間為從系統開啓算起所經過的時間。
中文名
VB實時無卡頓延時
外文名
timeGetTime
釋    義
函數以毫秒計的系統時間
類    別
計算機

timeGetTimeVB 聲明

Declare Function timeGetTime Lib "winmm.lib" As Long

timeGetTime返回值

以毫秒值返回系統時間。

timeGetTime參數

無參數

timeGetTime其他信息

該函數與timeGetSystemTime函數的唯一不同是timeGetSystemTime函數使用MMTIME結構返回系統時間。TimeGetSystemTime比timeGetTime需要更多的系統開銷。注意timeGetTime函數是一個雙字。這個值在0到2^32之間。大約49.71天。如果在代碼中直接將該值用於計算,會導致一些問題,特別是用該值來控制代碼的執行。一般利用兩個timeGetTime函數返回值的不同來用於計算。
Windows NT:該函數的時間精度是五毫秒或更大一些,這取決於機器的性能。可用timeBeginPeriod和timeEndPeriod函數提高timeGetTime函數的精度。如果使用了,連續調用timeGetTime函數,一系列返回值的差異由timeBeginPeriod和timeEndPeriod決定。QueryPerformanceCounter和QueryPerformanceFrequency函數用於分辨率要求更高的時間測量。
Windows95 默認分辨率是1毫秒,無論是否調用timeBeginPeriod和timeEndPeriod函數。

timeGetTime示例

VB 實現延時
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)'系統執行掛起一段時間延時
Private Declare Function timeGetTime Lib "winmm.dll" () As Long '該聲明得到系統開機到現在的時間(單位:毫秒)
Public Function Sleep2(T As Long)
    Dim Savetime As Long
    Savetime = timeGetTime '記下開始時的時間
    While timeGetTime < Savetime + T '循環等待
      call sleep(1)'解決卡頓的同時降低CPU佔用率
        DoEvents '轉讓控制權
    Wend
End Function
'在要延時的地方調用
Sleep2(15000)  '延時15秒