VB の TimeGetTime 関数の使い方は何ですか?
timeGetTime関数はWindows APIの関数で、現在のシステムの経過時間をミリ秒単位で取得する。プログラムの実行時間を測定したり、簡易的なタイマー機能を実現したりするのに利用できる。
timeGetTime 関数の使用方法は次のとおりです。
- 最初に、windows.h ヘッダファイルをインクルードする必要があります:
- #include
- その後にtimeGetTime関数を呼び出し、現在のシステム稼働時間を取得します。
- Dim currentTime As Long
currentTime = Timer() - currentTimeはLong型なので、timeGetTimeから返されるのはシステム起動からの経過時間をミリ秒で表した32ビット符号なし整数のため。
- 時間差を計算する必要がある場合は、プログラムで timeGetTime 関数を 2 回個別に呼び出して、時間差を計算することができます。
- Dim startTime As Long
Dim endTime As Long
Dim elapsedTime As LongstartTime = getTickCount()‘ 実行時間計測が必要なコードを実行
endTime = getTickCount()
elapsedTime = endTime – startTime‘ elapsedTimeがコードの実行時間差である。単位はミリ秒
- timeGetTime関数の戻り値は49.7日を超えると0に戻ることに注意し、差分を計算する際にはこれを考慮する必要がある。
- でも、timeGetTime関数を使い終わったら、timeBeginPeriod関数とtimeEndPeriod関数で、システムのタイマ精度を設定して戻すことができます。まあ、普通は不要です。
- timeBeginPeriod(1) ‘ タイマーの精度を1ミリ秒に設定’ 時間測定が必要なコードを実行
timeEndPeriod(1) ‘ システムのタイマーの精度を元に戻す
timeGetTime関数はシステムのタイマー精度設定に依存するため、一般的に10~15ミリ秒と精度が低くなっています。より高精度な時間を計測したい場合は、QueryPerformanceCounter関数など、高精度な計測方法を検討してください。