I would like to license one of our (Windows desktop or sever) applications so that it can be used (with a pre-paid key) for a specific number of hours. It should be possible for it to be stopped and restarted and the periods of running chosen by the user. The time does not need to be recorded to the second, minutes would be fine; and though it needs to be proof against fraud by a technically competent user, it does not need to resist attack at the level of government agencies! The app can remain installed (just prevented from being used) until the user later purchases another key. The 'key' must be software only, dongles are not appropriate for this application.
Ideally I would like some ideas about how to implement this securely in our own Delphi (XE) code, but it could equally be done in a separate application in any language, and we could just require that app to be running whenever ours is. I am open to purchasing a component to implement this, but I do not want to pay big money for a licencing tool that does a whole lot more than just this requirement. We already have a license mechanism that can prevent use after a specific date.