Page 1 of 1

How to create remote desktop viewver within network ?

Posted: Tue Aug 26, 2014 4:19 am
by shahir.fivewin
Anybody's help me to give an idea about how to create remote desktop server and viewer ?
How can i do this with FWH + Harbour ?

Re: How to create remote desktop viewver within network ?

Posted: Tue Aug 26, 2014 7:54 am
by Antonio Linares
Shahir,

You could try it though the results would be far away from existing solutions.

The first idea to consider is that the image of the screen has to be saved each x millisecs and transmited to the remote computer in the most efficient way.

If you review FWH SaveToBmp() method you will find the basic technique to convert the screen into a bitmap:

Code: Select all

METHOD SaveToBmp( cBmpFile ) CLASS TWindow

   local hBmp := WndBitmap( ::hWnd )
   local hDib := DibFromBitmap( hBmp )

   DibWrite( cBmpFile, hDib )
   GloBalFree( hDib )
   DeleteObject( hBmp )

return ( File( cBmpFile ) )
If you want to save the entire desktop window, then you can do:

local hBmp := WndBitmap( GetDesktopWindow() )
local hDib := DibFromBitmap( hBmp )

DibWrite( cBmpFile, hDib )
GlobalFree( hDib )
DeleteObject( hBmp )

ok, now you have the desktop screen in a file. And now you have to send it to the remote user. You may use sockets, or, simply leave it as a file and let the user read it (if you are on a lan). If instead of providing the whole image, you just want to transmit the "differences" (so you manage less sizes, and faster execution) you should compare those generated bitmaps and just send the differences.

Basically thats the start of the work. Also you will have to transmit the mouse position and the keyboard activity.

Well, at least I have provided you an initial idea to start working on it :-)

Re: How to create remote desktop viewver within network ?

Posted: Wed Aug 27, 2014 10:41 am
by shahir.fivewin
Will you please provide any sample if you have ?

Re: How to create remote desktop viewver within network ?

Posted: Wed Aug 27, 2014 3:04 pm
by Antonio Linares
No, sorry, I don't have such example. And if you don't understand it then it means that you are not ready yet to build it :-)