DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como capturar a tela como um Print Screen no Delphi?

Alguma vez você já teve a ideia de tirar um Print Screen automaticamente?

Capturar a tela automaticamente pode ser um recurso interessante
para a montagem de logs de erros de sistema, por exemplo.

Esta dica mostra uma função que captura a tela para um Bitmap.

É necessário estar declarado Graphics, Windows na seção uses,
em versões unicode declare Vcl.Graphics, Winapi.Windows

Abaixo segue o código fonte da função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function GetPrintScreen() : TBitmap;
var
  vHDC : HDC;
  vCanvas : TCanvas;
begin
  Result := TBitmap.Create;
  Result.Width := Screen.Width;
  Result.Height := Screen.Height;
 
  vHDC := GetDC(0);
  vCanvas := TCanvas.Create;
  vCanvas.Handle := vHDC;
 
  Result.Canvas.CopyRect(
  Rect(0, 0, Result.Width, Result.Height), vCanvas,
  Rect(0, 0, Result.Width, Result.Height));
 
  vCanvas.Free;
  ReleaseDC(0, vHDC);
end;

Exemplo de uso:

Este exemplo captura a tela e carrega em um TImage.

Crie um formulário um um TImage e um TButton e no clique do
botão deixe conforme o exemplo abaixo:

1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Picture.Assign(GetPrintScreen);
end;
Facebook Comments Box
  • InfusTec
  • 7.007 views
  • 0 comentários
  • 31 de março de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados