Computer workstations at work can at times be in high demand as there are never enough of them. Manually scheduling users onto workstations and keeping track of how long they have been working is not effective use of staff time. Also conflicts occur when we close, as users will often want to continue working when staff want to leave.

The TimeKeeper application was built to address these situations by providing a countdown timer to limit the usage of the equipment without staff intervention. The original application was built using VB6 but I have rewritten it using VB NET and it is now way more robust. In its current form it has been in use for over a year in the Windows XP environment and its presence is taken for granted by both our users and staff. In fact the use of this application has assisted greatly in improving our staff user relationships as staff now do a lot less "policing" of the workstations.

When building an application which is acting as a "policemen" you have to ensure that the users are informed about what it will do! This is accomplished by several screens which come to the front and have to be acknowledged by the user before they can continue to use the workstation. The first screen at Logon tells the user what is happening and starts a countdown timer when the timer gets near to the end of the session at least 2 warnings are presented to the user (which they have to acknowledge) before the session is closed by the TimeKeeper.

The TimeKeeper application requires that the user cannot access the workstation "Task Manger" interface. This is a setting in Group Policy that would normally be denied users in a managed network environment in any case. (The reason in this instance for doing this is that if the user can stop the TimeKeeper process in the Task Manager then the application is negated.) Assuming that this condition is met then the TimeKeeper is robust and reliable.

I have tested TimeKeeper on an "upgraded" Vista operating system. All seems to work as expected! I will test further on a "clean" installation and update this comment accordingly.


TimeKeeper is an application that provides a mechanism to control user access on a workstation. TimeKeeper is configurable and its configuration is changed to suit the location and expected usage of the equipment. Most of the customised configuration is accomplished by editing the associated "NGTimeKeeper3.ini" file.

Opening Hours

The TimeKeeper application monitors an INI file located in our network environment on a server to obtain the opening and closing time of the Library. This file is updated by staff so as to reflect the current opening hours. The TimeKeeper will not allow access onto any of the public access equipment anytime before the opening time or after the closing time. (In fact the workstation will log the users off approximately 6 minutes before closing time.)

User Login Periods

Dependant on the location, the TimeKeeper may also control the logon period of the user. Typically the "Express Print" machines will be limited to 10 minutes, the computer lab machines will be 2 hours and so on. Most of the electronic data access machines will not be limiting a user login period in this way and will only perform the "Opening Hours" function described above.

Timeout Period

The TimeKeeper will deny a user a new session for a period after the user has been logged off this is normally set to 20 minutes, but is adjustable to another time value in the INI file.

User Exceptions

The "administrator" account username will NOT activate the TimeKeeper. The users defined in a list of usernames in an exception INI file (located in our environment on the server) will be polled by the TimeKeeper on start up, to determine any other usernames that will also not run the TimeKeeper. Currently this list includes all of the support staff usernames and selected library staff usernames.


The files required for this application have not been packaged into an installer. Therefore some intervention is needed by support staff to get this application to work. Firstly Microsoft .NET Framework Version 1.1 will need to be loaded on any XP workstation on which you want to run this application. The files in the TimeKeeper download zip file will need to be copied to a suitable location. We use C:\Program Files\NGTimeKeeper3\ The users will need to be able to write to the local file called NGuser.dat A local INI file NGTimeKeeper3.ini will define for the Timekeeper the locations of the required subsequent INI files mentioned above, together with appropriate local customisations. This file and the subsequent INI files will need to be edited to reflect your expected usage. (Operationally we do much of the configuration described by a script which copies in the appropriate INI files which have been preset for workstations/locations.) The files in the TimeKeeper download zip file were taken taken off of an operational workstation so should work if the instructions above are followed.


TimeKeeper is activated by a shortcut located in the "Startup" directory in the "All Users" profile. Of course this can also be achieved by editing the Registry...