Hola de nuevo, estoy haciendo una aplicación para iniciarme en el uso de Streams y los componentes Indy. La aplicación trata de que el servidor hace una captura de la pantalla y se la envía al cliente. Tengo un TImage en el servidor para ver cómo sale la imagen que captura, la captura es de una pequeña porción de la pantalla, la cual la amplía en el Image, el cual tiene sus propieades Stretch en True y AutoSize en False;
El código del Timer que hace la captura de la pantalla (imgEnviar es el nombre del TImage):
Código:
procedure TExplorer.Timer1Timer(Sender: TObject);
var
DeskTop : TCanvas ;
begin
DeskTop := TCanvas.Create ;
try
with DeskTop do
Handle := GetWindowDC (GetDesktopWindow) ;
with imgEnviar.Canvas do
CopyRect (Rect (0, 0, screen.Width, screen.Height),DeskTop,Rect (0, 0, screen.Width, screen.Height));
finally
DeskTop.Free
end
end;
Este código lo he encontrado en trucomanía y lo he modificado cómo venía en un hilo de ClubDelphi llamado "Optimizar el envío de una imagen (JPG)" o algo así.
Mi pregunta es: ¿Cómo puedo hacer que me haga una captura completa de la pantalla?