Non so se esistano librerie per quel che chiedi... di certo esistono progetti open-source che fanno ciò che vuoi fare tu.

Uno l'ho trovato su SourceForge: http://sourceforge.net/projects/jrdesktop/

potresti dargli un'occhiata e prendere spunto.

Un'implementazioe alternativa a quella dell'invio degli screenshot completi potrebbe essere quella dell'invio delle "differenze". Non che sia un algoritmo di facile implementazione, tut'altro, però l'idea potrebbe essere la seguente:

1) Inizialmente dovrai catturare lo screenshot del desktop ed inviarlo tutto.
2) Per ciascun passo successivo dovresti catturare lo screenshot, confrontarlo (pixel per pixel?) con lo screenshot precedente ed inviare al client solo i cambiamenti.

In questo modo ridurresti drasticamente il numero di informazioni da far viaggiare.

Considera che, nel 80% - 90% dei casi, la variazione tra uno screenshot e l'altro consiste solo nello spostamento del mouse sullo schermo o la digitazione di qualche carattere. Il rimanente 10% - 20% riguarda l'apertura/chiusura di finestre o il cambio di pagina internet (se l'utente sta navigando). Questo mediamente... ovvio che se un utente sta guardando un film le cose cambiano...


Ciao.