Use esta função e adapte-a as suas necessidades:

procedure CapturaAreaTrab(NomeArq : String);
var
  Bitmap : TBitmap;
  DC : hDc;
  DesktopRect : TRect;
  DesktopCanvas : TCanvas;
  HoraAtu : DWord;
begin
// esconde a aplicação - não queremos que apareça na tela
  Application.MainForm.Hide;
// da 1/2 segundo para restaurar tela
  HoraAtu := GetTickCount;
  while GetTickCount-HoraAtu < 500 do
    Application.ProcessMessages;
  try
// pega um DC para a área de trabalho
    DC := GetDC(GetDesktopWindow);
    try
// cria um canvas para área de trabalho
      DesktopCanvas := TCanvas.Create;
// cria um bitmap para armazenar área de trabalho
      Bitmap := TBitmap.Create;
      try
// deixa tamanho do bitmap igual ao da tela
        Bitmap.Width := Screen.Width;
        Bitmap.Height := Screen.Height;
// seta o Handle do canvas para o DC da área de trabalho
        DesktopCanvas.Handle := DC;
        DeskTopRect := Rect(0,0,Screen.Width,Screen.Height);
// copia imagem da área de trabalho para o bitmap
        Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect);
// salva o bitmap
        Bitmap.SaveToFile(NomeArq);
      finally
        Bitmap.Free;
        DesktopCanvas.Free;
      end;
    finally
// libera o DC da área de trabalho
      ReleaseDC(GetDesktopWindow,DC);
    end;
  finally
// restaura aplicação
    Application.MainForm.Show;
  end;
end;

Extraido do livro '365 dicas de Delphi' - Bruno Soninno

[ ]´s
Moacir


Sem nome escreveu:

>Olá 
>
>Alguém sabe como dar um printscreen na tela atula e guardar a imagem 
>num componente TImage, tempo de execução ??
>
>Tentei de alguma formas mas não consegui.
>
>Agradeço a resposta
>Até mais
>
>
>
>
>
>
>
>  
>



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.13/124 - Release Date: 7/10/2005



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 




Responder a