Dazu habe ich eine kleine Klasse geschrieben, die genau das bietet:
http://assarbad.net/stuff/screenshotclass.zip
http://assarbad.net/stuff/screenshotclass.rar
Man kann die Methode AutoSaveWindow() benutzen um ein bestimmtes Fenster mehrere Male zu capturen (eignet sich also zum Aufruf von einerm Timer aus). AutoSaveDesktop() tut das Ganze für den gesamten Desktop.
Ansonsten kann man das Ganze auch manuell machen (dazu einfach in den Source schauen).
Wenn die
Unit eingebunden wird, ist eine Instanz namens SShot sofort verfügbar. Gesteuert werden kann das Verhalten über die Compilerschalter.