2011年6月21日火曜日

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

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

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

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

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

  1. Dim logs() As System.Diagnostics.EventLog  
  2.         logs = System.Diagnostics.EventLog.GetEventLogs()  
  3.         For Each log As EventLog In logs  
  4.             If log.LogDisplayName <> "システム" Then  
  5.                 Continue For  
  6.             End If  
  7.   
  8.             For Each entry As EventLogEntry In log.Entries  
  9.                 Select Case entry.EventID  
  10.                     Case 6005 ' 起動  
  11.                         Console.WriteLine("起動 " & entry.TimeWritten)  
  12.                     Case 6006 ' 終了  
  13.                         Console.WriteLine("終了 " & entry.TimeWritten)  
  14.                         Console.WriteLine()  
  15.   
  16.                     Case Else  
  17.                         Continue For  
  18.                 End Select  
  19.             Next entry  
  20.         Next log  

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


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

0 件のコメント:

コメントを投稿