Click to See Complete Forum and Search --> : stream desktop bitmap
PerryBruins
November 7th, 2003, 05:49 AM
Hi all,
I am currently in the design phase of a new application. I need a solution to the following question:
I would like to get 'live' images from the currently shown desktop, much in the way a terminal server client shows the desktop of the remote machine. Is there any way I can achieve this?
I have experimented with BitBlt, but for my purpose, too much graphical data is passed to get smooth results. I know there must be a solution, since terminal server clients can do it too.
Thanks in advance for all suggestions.
Regards, Perry
joscollin
November 8th, 2003, 05:51 AM
Originally posted by PerryBruins
Hi all,
I am currently in the design phase of a new application. I need a solution to the following question:
I would like to get 'live' images from the currently shown desktop, much in the way a terminal server client shows the desktop of the remote machine. Is there any way I can achieve this?
I have experimented with BitBlt, but for my purpose, too much graphical data is passed to get smooth results. I know there must be a solution, since terminal server clients can do it too.
Thanks in advance for all suggestions.
Regards, Perry
Any way you have to pass the graphical data.
One solution is You can compress the graphical data, send it
and on the receiving side decompress it.
PerryBruins
November 9th, 2003, 08:09 AM
Hi joscollin,
Thanks for your suggestion. I have considered doing some kind of compression, but I have the feeling it will not be sufficient. I was wondering how terminal server client does the job ...
Anyway, thanks for responding.
Regards, Perry
joscollin
November 9th, 2003, 08:59 AM
Do you want to get a snapshot of desktop or
you want to control everything. (Access applications installed on the server).
The first one is easy. But for accessing applications you have to transfer all the events on client to server and get the updates from the server
PerryBruins
November 10th, 2003, 01:51 AM
Hi joscollin,
The purpose of my project is as follows:
I have written a nifty little tool which enables working on multiple desktops on the same computer. Now I would like to extend the capabilities to also be able to make use of desktops on remote computers.
For this purpose, I need to write a service program which runs on the remote computer, which can be connected to using sockets. The service program should then create a desktop on the remote computer, stream the graphics to the connected client, and (this is a later stage) process client events into remote computer events.
So, for the client it should look like he is working on a regular client with a normally responding desktop.
This is why I would like to know how to get the images over the line as quickly as possible.
Getting a single image is not a big problem, but getting the responsive image ...
Regards, Perry
joscollin
November 10th, 2003, 03:02 AM
There are somany ways you can do this.
My idea is as follows:
There is a server and a client program running on two machines in a network(no need to make these services). First you must send full desktop bitmap to the client side. And there must be a thread for receiving this. After this catch the events that user can make (from wndproc) and send a corresponding message to the server. On the server receive these events and simulate them. (U have to implement a protocol for doing this)
Then it is possible to calculate an update rectangle (responsive image) from the server desktop by comparing bitmap bits and send the update bitmap to client.
This is the process. There is no need to send entire screen bitmap everytime. You can calculate the updated rectangles. This will optimise the process and the speed also.
Also You can implement Hooks for calculating updated regions on the server.
Hope this will help you...
bye...
PerryBruins
November 10th, 2003, 04:00 AM
Hi joscollins,
Thanks for your suggestions. I'll ponder a while on the idea of the update rectangles. If I have produced some usefull results, i'll let them know on this forum.
Regards, Perry
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.