GetTickCount 関数 (sysinfoapi.h)
システムの起動から経過したミリ秒数 (最大 49.7 日) を取得します。
構文
DWORD GetTickCount();
戻り値
戻り値は、システムが開始されてから経過したミリ秒数です。
備考
GetTickCount 関数の解像度は、システム タイマーの解像度に制限されます。これは通常、10 ミリ秒から 16 ミリ秒の範囲です。 GetTickCount 関数の解決は、GetSystemTimeAdjustment 関数によって行われた調整の影響を受けません。
経過時間は、DWORD 値として格納されます。 したがって、システムが 49.7 日間継続的に実行されている場合、時間は 0 に折り返されます。 この問題を回避するには、GetTickCount64 関数を使用します。 それ以外の場合は、時間を比較するときにオーバーフロー状態を確認します。
高解像度タイマーが必要な場合は、マルチメディアタイマー または 高解像度タイマーを使用します。
コンピューターの起動後に経過した時間を取得するには、レジストリ キー HKEY_PERFORMANCE_DATAのパフォーマンス データの System Up Time カウンターを取得します。 返される値は 8 バイトの値です。 詳細については、「パフォーマンス カウンターの」を参照してください。
システムが開始されてから作業状態に費やした時間を取得するには、QueryUnbiasedInterruptTime 関数を使用します。
注QueryUnbiasedInterruptTime 関数は、割り込み時間数とティック数が約 49 日進むため、Windows のデバッグ ("checked") ビルドで異なる結果が生成されます。 これは、システムが長時間実行されるまで発生しない可能性のあるバグを特定するのに役立ちます。
例
// 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 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | sysinfoapi.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
Windows タイム の