25 de jan. de 2011

como capturar imagem do desktop ( delphi )

procedure rtncapturar_imagem_desktop;
var
  bitmap : tbitmap;
  jpg : tjpegimage;
  dc : hdc;
  desktoprect : trect;
  desktopcanvas : tcanvas;
begin
  dc:=getdc(getdesktopwindow);
  try
    desktopcanvas:=tcanvas.create;
    bitmap:=tbitmap.create;
    jpg:=tjpegimage.create;
  try
    bitmap.Width:=Screen.Width;
    bitmap.Height:=Screen.Height;
    desktopcanvas.handle:=dc;
    desktoprect:=rect(0,0,Screen.Width,Screen.Height);
    bitmap.canvas.CopyRect(desktoprect,
                           desktopcanvas,
                           desktoprect);
    with jpg do
    begin
      compressionquality:=100;
      assign(bitmap);
      compress;
      savetofile('c:\imagem.jpg'); // onde sera salva a imagem
    end;

  finally
    bitmap.free;
    desktopcanvas.free;
  end;
  finally
    releasedc(getdesktopwindow,dc);
  end;
end;

Nenhum comentário:

Postar um comentário