GetTickCount 函式 (sysinfoapi.h)
擷取自系統啟動後經過的毫秒數,最多 49.7 天。
Syntax
DWORD GetTickCount();
傳回值
傳回值是自系統啟動後經過的毫秒數。
備註
GetTickCount 函式的解析度僅限於系統定時器的解析度,這通常介於 10 毫秒到 16 毫秒的範圍內。 GetTickCount 函式的解析不會受到 GetSystemTimeAdjustment 函式所做的調整所影響。
經過的時間會儲存為 DWORD 值。 因此,如果系統持續執行 49.7 天,時間會包裝到零。 若要避免這個問題,請使用 GetTickCount64 函式。 否則,在比較時間時檢查溢位條件。
如果您需要較高的解析度定時器,請使用 多媒體定時器 或 高解析度定時器。
若要取得電腦啟動後經過的時間,請擷取登錄機碼中效能數據中的系統 Up Time 計數器 HKEY_PERFORMANCE_DATA。 傳回的值是8位元組值。 如需相關資訊,請參閱 Performance Counters。
若要取得系統在啟動之後花費在工作狀態的時間,請使用 QueryUnbiasedInterruptTime 函式。
注意QueryUnbiasedInterruptTime 函式會在 Windows 的偵錯 (「核取」) 組建上產生不同的結果,因為中斷時間計數和刻度計數大約會進階 49 天。 這有助於識別在系統長時間執行之前可能不會發生的 Bug。 已核取的組建可透過 Microsoft Developer Network (MSDN) 網站提供給 MSDN 訂閱者使用。
範例
// 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 應用程式] |
目標平台 | Windows |
標頭 | sysinfoapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應