GARANTIR DESCONTO

Fórum fazer print screen automatico ? e capturar config do monitor #207428

19/01/2004

0

to precisando fz o seguinte...

eu gostaria de um comando e capturasse o tela atual da maquina(print screen) e mostrasse no meu programa... como se nada houvesse acontecido...

no caso o meu aplicativo abriria maximizado, mostrando a mesma tela q estava anteriormente... independente da confiracao do monitor... 800x600 ou outros...


Sidnei

Sidnei

Responder

Posts

19/01/2004

Cebikyn

Declare esta função no código fonte de seu DPR:

function GetScreenShot: TBitmap;
var
  Desktop: HDC;
begin
  Result  := TBitmap.Create;
  Desktop := GetDC(0);
  try
    try
      Result.PixelFormat := pf32bit;
      Result.Width := Screen.Width;
      Result.Height := Screen.Height;
      BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, Desktop, 0, 0, SRCCOPY);
      Result.Modified := True;
    finally
      ReleaseDC(0, Desktop);
    end;
  except
    Result.Free;
    Result := nil;
  end;
end;


Ainda no código do DPR declare Graphics na cláusula USES e declare uma nova variável do tipo TBitmap. Associe esta variável ao bitmap retornado pela função a cima (logo abaixo de Application.Initialize). Coloque um delay [ Sleep(100) ]. Localize a criação do form que receberá a img. Após a linha localizada, desenhe o Bitmap criado em seu form da forma que achar conveniente. Chame o método Repaint de seu form e o Free, do Bitmap.

Qualquer dúvida (ou se o código não funcionar) responda o tópico.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar