I'd like to write a file monitoring tool that (1) Generates a report on how much time was spent on which file (2) Generates a timeline of file age. The need for this application is to track time for all programming projects. If the app would automatically track the time I opened a file to the time I closed it, then I would know how long I spent working on a specific file. I also would like to see a timeline of files ordered by their creation date or edit date. This way I can see the landscape of my file structure on my computer in a better way.

Any suggestions if this kind of software exists and how to write it?

Recommended Answers

All 3 Replies

I haven't ever seen that kind of SW.

I think you could achieve what you want with FileSystemWatcher control and the methods/properties in the System.IO.FileInfo class. Trap the FileSystemWatcher.Changed event to detect changes in a folder (i.e. file created/saved/deleted etc.). Create objects of the type FileInfo and check their CreationTime/LastAccessTime/LastWriteTime properties.

I hope you get started with this :)

commented: Welcome. Long time no see. +10

Even I dont think there is a software which can track the use of files. Some softwares may show logged in time and log out time on it, but there is none that shows the activities on third party software.

I have used Replicon time recording software at office. There are various features also available other than the ones you have explained in your query and I must tell we’re superhappy with the efficiency at which the software processes information.

My personal opinion about this application is that it is an excellent software that helps businesses of all scales to function efficiently. You can’t ask for anything better than this.

Visit this link ( http://www.replicon.com/olp/online-time-recording-software.aspx ) to know more about this application!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.