Das Problem wird sein, dass der Service auf Deskop0 läuft. Müsstest du mit ImpersonateLoggedOnUser() und co. rumspielen vermute ich.
Zu VNC: Dieses Programm installiert ohne Treiber einen Usermode Hook (
dll) in alle laufenden Prozesse, wenn ich mich recht erinnere. Dort wird auch nicht einfach ein Screenshot gemacht, sondern
GDI Zugriffe gezielt abgefangen.