共用方式為


GetTickCount 函式 (sysinfoapi.h)

擷取自系統啟動以來經過的毫秒數,最多 49.7 天。

語法

DWORD GetTickCount();

傳回值

傳回值是自系統啟動後經過的毫秒數。

言論

GetTickCount 函式的解析度僅限於系統定時器的解析度,通常介於 10 毫秒到 16 毫秒的範圍內。 GetTickCount 函式的解析不會受到 getSystemTimeAdjustment 函式 所做的調整影響。

經過的時間會儲存為 DWORD 值。 因此,如果系統持續執行 49.7 天,時間會包裝為零。 若要避免這個問題,請使用 GetTickCount64 函式。 否則,在比較時間時檢查溢位條件。

如果您需要更高解析度的定時器,請使用 多媒體定時器高解析度定時器

若要取得電腦啟動後經過的時間,請在登入機碼的效能資料中擷取系統 Up Time 計數器,HKEY_PERFORMANCE_DATA。 傳回的值是8位元組值。 如需詳細資訊,請參閱 性能計數器

若要取得系統自啟動后已花費在工作狀態的時間,請使用 QueryUnbiasedInterruptTime 函式。

NoteQueryUnbiasedInterruptTime 函式會在 Windows 的偵錯 (“checked”) 組建上產生不同的結果,因為中斷時間計數和刻度計數會進階大約 49 天。 這有助於識別在系統長時間執行之前可能不會發生的 Bug。
 

例子

// calculate a 't' value that will linearly interpolate from 0 to 1 and back every 20 seconds
DWORD currentTime = GetTickCount();
if ( m_startTime == 0 )
{
    m_startTime = currentTime;
}
float t = 2 * (( currentTime - m_startTime) % 20000) / 20000.0f;
if (t > 1.0f)
{
    t = 2 - t;
}

要求

要求 價值
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 sysinfoapi.h (包括 Windows.h)
連結庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

時間函式

Windows Time