1

my question is about capturing screen on a remote server with windows vista or later installed from all desktops (default, UAC screen, Winlogon, screensaver). How to achieve this without an user logined locally or via RDP. The problem is that changes in Vista brought isolation of Windows services from desktops. I've found some information here and there that address the issue:

but unfortunately I do not see any good solution. I want to get something like Windows remote desktop connection clone. In other words Windows machine with some kind of a server that I can connect remotely to and get screenshots from it.

There is a piece of software called TightVNC that does what I need but its source is in C++ so it's hard for me to find the main idea of how to overcome Windows limitations. Maybe someone can tell?

Thanks in advance for any help.

Community
  • 1
  • 1
cyril.andreichuk
  • 343
  • 3
  • 11

2 Answers2

0

TightVNC Server implements the RFB protocol. It is a service much like Microsoft's RDP (Remote Desktop Protocol), albeit, much simpler.

The TightVNC server additionally has it's own encoding (called tight), and clients that support the encoding allow you to specify image compression and quality.

Understand that "remote screenshots" aren't supplied to you by either protocol quite like you imagine. Graphic updates are sent and you're supposed to manage an image framebuffer and keep updating it (though you could ask a remote VNC server to send you a full update every time, but even then, the server will break up the "image" into various rects before sending them). RDP clients are quite a bit more complicated (see the FreeRDP project).

Your goal however appears to be remote access without Microsoft RDP available to you. Given this case, you simply need a VNC service (like TightVNC) on the remote desktop, and a VNC client (like TightVNC's client) on the system you'll be connecting from. Barring network configuration, you should be good to go.

ahash
  • 510
  • 7
  • 12
  • thanks for your answer. unfortunately, I need to create my own service that will send desktop images to clients that's why I can't use TightVNC or similar products. So I want to understand how to make such a service on the latest Windows OS. – cyril.andreichuk Jun 10 '15 at 06:28
  • @cyril.andreichuk Also, check out www.openframeworks.cc. Didn't come to mind the first time. There are various add-ons (ofxXMPP, ofxGSTStreamer, ofxLibNice) that can be used to create a video stream and do NAT transversal as well. I tried this (albeit, only capturing and sending my webcam feed) to a remote system, and it works pretty good. – ahash Jun 27 '15 at 06:58
0

You can kick off a process (exe) from a service that impersonates the logged on user. This allows you to take a screen capture.

You'll need a separate app to take the screen capture since it must be kicked off in a new process.

For more details: https://stackoverflow.com/a/45095509/125406

Michael Silver
  • 483
  • 5
  • 15