Gibt seit Windows 8 tatsächlich etwas sehr Feines: Die
Desktop Duplication API.
Über dieses Interface bekommst du direkt von Windows alle Änderungen am Bildschirminhalt zwischen zwei Aufrufen der Funktion geliefert. Dabei sind die Daten sehr geschickt und platzsparend arrangiert. Zum Einen bekommst du eine Liste mit Rechtecken (nur die Position und Größe, keine Bildaten) von gleichgebliebenen Bereichen, die sich allerdings verschoben haben und zum Zweiten erhälst du eine Liste mit Rechtecken (diesmal Position, Größe und Bilddaten) von Bereichen, die sich geändert haben.