ソフトを開発しようと思った動機、背景
以前、タイムカードのない職場で働く機会があり、自分で出退勤の時刻を記録しておく必要がありました。しかし、たまに記録を忘れてしまうことがあり、正確な勤務時間を把握することができませんでした。最初は、パソコンで作業していたファイルのタイムスタンプを確認したり、メールの受信日時を確認したりと、自分が何時まで働いていたか調べ直していました。でも、これでは正確な時間がわかりません。そこで、アプリの起動&終了時刻をログ出力することを思いつきました。実際に、「プチカレンダ」という別フリーソフトに組み込んでみました。
しかし、もっとよい方法がないかと考えていたところ、Windowsが管理しているイベントログの時間を利用しようというアイデアを思いつきました。この方法なら、アプリを常駐させておく必要もないし、記録用の専用ログファイルなども不要。ということで、そんなツールを作ってみました。
開発中に苦労した点
イベントログといっても、システム用とアプリケーション用のものがあり、どれを使うか試行錯誤していました。両方のイベントログを読み込めば、より精度の高い時刻を取得することが可能ですが、そうすると、さらに読み込み時間が長くなってしまう。それもOSによって、動きが変わるので、見極めるのに苦労しました。
また、Windows 7では、時系列で並んでいない場合もあり、読み込んだあとにソートする必要があったりと、環境によって結果が異なるので苦労しました。
ユーザにお勧めする使い方
取得した情報を、CSVやXMLにエクスポートすることも可能です。一覧表示して、前日までの残業時間を簡単に確認することもできます。また、コマンドラインから実行し、結果をファイル出力することもできます。
今後のバージョンアップ予定
まずは、Windows 8対応です。その後は決まっていませんが、UI改善なども行いたいと考えています。
(osada)