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