'在Project中加入一個Module,然後在其中加入以下代碼: Option Explicit Type LARGE_INTEGER lowpart As Long highpart As Long End Type Public Declare Function QueryPerformanceCounter Lib "kernel32" _ (lpPerformanceCount As LARGE_INTEGER) As Long Public Declare Function QueryPerformanceFrequency Lib "kernel32" _ (lpFrequency As LARGE_INTEGER) As Long Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal _ uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Long, _ ByVal uFlags As Long) As Long Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Long) As Long Public Declare Function GetTickCount Lib "kernel32" () As Long Public lMSFreq As Long Public TimerCount As Single Public lmmCount As Single Public lTimeID As Long Public actTime1 As Long Public actTime2 As Long Public iCountStart As Single Dim iCount As Single '注釋: timeSetEvent的回調函數 Sub TimeProc(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, _ ByVal dw1 As Long, ByVal dw2 As Long) Form1.Text2.Text = Format$(lmmCount, "00.00") lmmCount = lmmCount - 0.01 If lmmCount <= 0 Then iCountStart = 60 lmmCount = 60 TimerCount = 60 EndCount End If End Sub Sub EndCount() iCount = iCountStart iCountStart = 0 timeKillEvent lTimeID actTime2 = GetTickCount - actTime1 With Form1 .Command1.Enabled = True .Command2.Enabled = False .Timer1.Enabled = False .Text1 = "計數器記時" + Format$((60 - iCount), "00.00") + " " _ + "實際經過時間" + Format$((actTime2 / 1000), "00.00") .Text2 = "計數器記時" + Format$((60 - lmmCount), "00.00") + " " _ + "實際經過時間" + Format$((actTime2 / 1000), "00.00") .Text3 = "計數器記時" + Format$((60 - TimerCount), "00.00") + " " _ + "實際經過時間" + Format$((actTime2 / 1000), "00.00") End With End Sub