情報関連 システム起動後の経過時間を取得する

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit

Public Declare Function GetTickCount Lib "kernel32.dll" () As Long


Sub TimeAfterSystemStart()
'************************************
'システム起動後の経過時間を取得する
'************************************
'ミリ秒=1,000分の1秒
Dim dbl_Second  As Double

dbl_Second = GetTickCount / 1000

MsgBox "起動から[ " & dbl_Second & " ]秒経過しました。"

End Sub
プラットフォーム SDK

GetTickCount

  • システムを起動した後の経過時間を、ミリ秒(ms)単位で取得します。この時間は、システムタイマの分解能による制限を受けます。システムタイマの分解能を取得するには、GetSystemTimeAdjustment 関数を使います。
  • DWORD GetTickCount(VOID);
    • パラメータ
    • パラメータはありません。
  • 戻り値
    • 関数が成功すると、システムを起動した後の経過時間が、ミリ秒単位で返ります。
  • 解説
    • 経過時間は DWORD 型で保存されています。システムを 49.7 日間連続して動作させると、経過時間は 0 に戻ります。
    • より高い分解能のタイマが必要な場合は、「」(マルチメディアタイマ)または「」(高分解能タイマ)を使います。
    • Windows NT/2000:コンピュータを起動した後の経過時間を取得するには、レジストリの HKEY_PERFORMANCE_DATA キー内の System Up Time カウンタを取得します。この値は、8 バイトです。詳細については、MSDN ライブラリの「」を参照してください。

 

2000年01月01日|[VBサンプルコード]:[情報関連]