I need a simple application that will track user activity within Windows. Essentially, it should log the full title of the currently active window. (The window with focus).
It also needs to track mouse and keyboard inactivity. If there is no mouse or keyboard activity for a pre-determined amount of time (e.g., 2 minutes), this entire period (until the next mouse movement or keypress) shall be logged as "idle" time.
The application must have a small memory and performance footprint. I would prefer an application which runs in the system tray.
The application must append the results to a CSV file in a predetermined location, importable by Excel. The columns in the file shall be as follows:
**Start_Time** Time the window gained focus (yyyy Mmm-dd hh:mm:ss)
**End_Time** Time the window lost focus (yyyy Mmm-dd hh:mm:ss)
**Duration** Elapsed time that the window had focus (integer seconds)
**Window Title** Window title (text)
"2008 Jun-24 11:38:00","2008 Jun-24 11:39:21","81","Request Bids on my Project - 2 - Firefox"
System tray application.
On double click: Open Folder (I.e., open an Explorer window to the folder containing the CSV file)
On right click: Context menu:
* **Open Folder**
Your program must **append** to the CSV file only. It is not acceptable to read/parse the file, as it will grow quite large.
* Full source code with good internal documentation
* Compiled application.
* Installation and usage instructions--should be simple!
* Programmers' documentation, including build instructions.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Windows XP SP2, Vista SP1 Preferred language: Coder to propose best language for this task with freely available compiler.