>Isn't there a way we can achieve this on application's environment level. What if none of the forms are open while the application is running?
Attach a timer to a global object; the problem becomes what to use to catch keystrokes to reset the timer (there's no interactive change event of _SCREEN); I sup[pose you could use something likeREADKEY() and at timeout, if the content of READKEY() is the same as it was when it started, timeout, but I've never tried it...