2011年6月21日火曜日

【VB.NET】Windowsの起動と終了の時間を表示

会社で勤怠を付け忘れると、
昨日の出社時間と退社時間がいつだっけ・・って忘れる時がある。

出社と同時にPCつけ、退社と同時にPCを消しているという条件であれば、
そんな時には Windowsのイベントログを見ると起動と終了時間がすぐにわかる。

イベントID 6005 と 6006 を見ればいいみたい。

VB.NET のソースではこんな感じ。

Dim logs() As System.Diagnostics.EventLog
        logs = System.Diagnostics.EventLog.GetEventLogs()
        For Each log As EventLog In logs
            If log.LogDisplayName <> "システム" Then
                Continue For
            End If

            For Each entry As EventLogEntry In log.Entries
                Select Case entry.EventID
                    Case 6005 ' 起動
                        Console.WriteLine("起動 " & entry.TimeWritten)
                    Case 6006 ' 終了
                        Console.WriteLine("終了 " & entry.TimeWritten)
                        Console.WriteLine()

                    Case Else
                        Continue For
                End Select
            Next entry
        Next log

作ったものはこれ。
ここをクリック


実行するとWindowsの起動時間と終了時間を教えてくれます。
GUIとか作ったって仕方ないのでコマンドラインアプリケーションですが、
便利だと思われ。

0 件のコメント:

コメントを投稿