Robienie Screen(ów)

0

Witam.

Mam problem.

Chcę aby mój program robił screena albo wybranego komponentu (najlepiej by było) lub aktywnego okna.

Proszę o pomoc

Pozdrawiam
baro

0

Procedurka robi screna aktywnego okna i zapisuje plik w formacie jpg.

procedure Tform1.ZrobScreen;
var
  Can: TCanvas;
  B: TBitmap;
  jpg: TJPEGImage;
  Rect : TRect;
  l : integer;
begin
  try
    Can := TCanvas.Create;
    Can.Handle := GetWindowDC(GetForegroundWindow);

    Windows.GetClientRect(GetForegroundWindow, Rect);
    Inc(Rect.Right, 6);
    Inc(Rect.Bottom, 25);
    B := TBitmap.Create;
    B.Width := Rect.Right;
    B.Height := Rect.Bottom;
    B.Canvas.CopyRect(Rect, Can, Rect);
    jpg := TJPEGImage.Create;
    jpg.Assign(B);
    inc(l);
    try
      jpg.SaveToFile('sciezka');
   except
     raise Exception.Create('Bład w zapisie pliku...');
   end;

  finally
    Can.Free;
    B.Free;
    jpg.Free;
  end;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1