Dienste laufen in einem anderen Desktop und kommen da auch nicht raus.
Du brauchst also zu deinem Dienst ein Programm das in der aktuell User session sitzt und dir die Bilder liefert.
Erschwerend kommt hinzu, sobald sein Service Quelltext "Forms" oder der gleichen reinlädt geht da erstmal gar nichts mehr, da diese ein unsichtbares Fenster erstellen.
Also ich würde vom Service einen Daemon starten der alles über
Dll bereitstellt. Rein vom logischen ablauf her. (Service -> Daemon ->
Dll abrufe mit Screenshot -> zurück zum Service)
Versucht so etwas selber zu basteln habe ich bis jetzt noch nicht aber Interessant finde ich dieses Projekt schon!