i want to abtain remote screen capture on the pc in LAN.
i was suggested to transmit the changed parts only to save the bandwidth.
so i divide the screen into 10*10 parts. and now , i need to display the
remote screen on my own form. my method is use this:
Graphics c = this.createGraphics();
c.drawImage(imageparts,xcoodinary,ycoodinary);// imageparts is ONE part
// of the screen (1/100)
whenever i receive a imageparts, i use the code above to draw the changed
screen parts on a FORM. the code seems to work well.In the first time,i
should call this code 100 times to get the original screen.after then , i
could only call this code several times.
but now ,when the FORM is changed or covered by other windows , with the
repaint result ,the image disappeared or changed into a wrong display.
So i should put the code above into OnPaint method. but the code above only
redraws the changed parts of the remote screen, the others disappeared.
How can i redraw the previous unchanged image already on the FORM ? OR are
there other methods to solve this problem ?
THX!
Michael Giagnocavo [MVP] - 13 Apr 2004 23:26 GMT
You should create a backing store on the client, say a bitmap. This bitmap
stores the "screen". When new pieces of the screen come in, you paint them
to the form AND the bitmap. OnPaint, you paint the entire bitmap.
-mike
MVP
>i want to abtain remote screen capture on the pc in LAN.
> i was suggested to transmit the changed parts only to save the bandwidth.
[quoted text clipped - 21 lines]
>
> THX!