I'm coding a prog that enables a user to remotely use a system, showing the remote desktop in a wnd that can be resized... all keyboard inputs + mouse movement and mouse clicks shall be sent per network and simulated on the remote system.
(p.s.:trojan and remote admin is a great difference )
The only thing I'm not proper sure about is the transfer of the screen picture data.
First of all i need to have a format for the transfer. Easiest seems to be b/w bitmap (8 bits per pixel), but there might be others that can save lots of network resources...I can easily take the picture data when bitblt-ing the screen to a memory dc with a bitmap of the right size and then calling getdibits.
I think about these possibilities in order to improve performance:
(1) I never transfer the whole picture. I divided the screen into x parts (relies on options) and only transfer one part at a time, logically the part which changed most (i implemented something like a checksum table)
(2) I could transfer not screen parts but lines/rows, trimming the pixels that stayed the same from last picture transfer
(3) I could enumerate the windows and then transfer the ClientRect of the current foreground Wnd.
I already wrote a local prog that uses the first method to show the screen on a small wnd...it's nice to watch so i attached it.
If you got any ideas related to the screen picture transfer please post it...
Dominik
(p.s.:trojan and remote admin is a great difference )
The only thing I'm not proper sure about is the transfer of the screen picture data.
First of all i need to have a format for the transfer. Easiest seems to be b/w bitmap (8 bits per pixel), but there might be others that can save lots of network resources...I can easily take the picture data when bitblt-ing the screen to a memory dc with a bitmap of the right size and then calling getdibits.
I think about these possibilities in order to improve performance:
(1) I never transfer the whole picture. I divided the screen into x parts (relies on options) and only transfer one part at a time, logically the part which changed most (i implemented something like a checksum table)
(2) I could transfer not screen parts but lines/rows, trimming the pixels that stayed the same from last picture transfer
(3) I could enumerate the windows and then transfer the ClientRect of the current foreground Wnd.
I already wrote a local prog that uses the first method to show the screen on a small wnd...it's nice to watch so i attached it.
If you got any ideas related to the screen picture transfer please post it...
Dominik
Have a look at http://www.asmcommunity.net/board/index.php?topic=3365.0 , there's already been some discussion on this :)
thx f0dder, should have thought about the search function... :lol:
Dom
Dom