如何将屏幕的动态画面在软件里显示出来?我最终的目的是通过网络在服务器端监视客户机的电脑画面。网络传输的问题我可以解决,但是不知如何截取动态的画面,希望指教。谢谢

解决方案 »

  1.   

    很简单啊var
      FullScreen:TBitmap;
      screen    :TCanvas;
    begin
      screen:=TCanvas.Create;
      screen.handle:=getdc(0);
      FullScreen.Canvas.CopyRect(RECT(0,0,screen.Width,screen.Height),
                                 FullScreenCanvas,
                               RECT(0,0,screen.Width,screen.Height));
      releasedc();
    end;下面不用我说了吧,
      

  2.   

    hehe,这个方法倒是可以实现,不过这样传输会造成很大的网络流量的,有没有压缩办法呢?
      

  3.   

    将屏幕的Canvas变化,画到bitmap。
    作为MemoryStream传出去,根据你的需要设置定时器,决定多少时间发送一次。
      

  4.   

    easy转成jpg
    var
      Jpeg: TJpegImage;
      Image1: TImage;
    begin
      Image1:= TImage.Create(self);
      MyJpeg:= TJpegImage.Create;
      Image1.Picture.Bitmap.LoadFromFile('xxx.BMP'); 
      Jpeg.Assign(Image1.Picture.Bitmap);  
      Jpeg.CompressionQuality:=xx;
      Jpeg.Compress;
      Jpeg.SaveToFile('xxx.JPG'); // Save the JPEG to Disk
    end;