hallo Jungs.
Ich habe auf einem Formular ein Button und wenn man ihn anklickt wird das ausgeführt:
Delphi-Quellcode:
width := 750;
heigth := 563;
w := Self.Width; h:=Self.Heigth;
Self.Width:= 0; Self.Heigth:=0;
origbmp := TBitmap.Create;
origjpg := TJpegImage.Create;
changebmp := TBitmap.Create;
Self.Hide;
Application.ProcessMessages;
ScreenCapture(origbmp);
self.Width := w; Self.Heigth:=h;
Self.Show;
origjpg.Assign(origbmp);
origjpg.SaveToFile(savepath);
und die funktion für den Screenshot:
Delphi-Quellcode:
procedure ScreenCapture(Bmp: TBitmap);
var
DeskWnd: HWnd;
DeskDC: HDC;
DeskCv: TCanvas;
R: TRect;
W, H: Integer;
begin
if Bmp = nil then Exit;
DeskWnd := GetDesktopWindow;
DeskDC := GetWindowDC(DeskWnd);
DeskCv := TCanvas.Create;
DeskCv.Handle := DeskDC;
W := Screen.Width;
H := Screen.Height;
R := Bounds(0, 0, W, H);
try
Bmp.HandleType := bmDIB;
Bmp.PixelFormat := pf24Bit;
Bmp.Width := W;
Bmp.Height := H;
Bmp.Canvas.CopyMode := cmSrcCopy;
Bmp.Canvas.CopyRect(R, DeskCv, R);
finally
DeskCv.Free;
ReleaseDC(DeskWnd, DeskDC);
end;
end;
Das Problem ist, das auf dem Screenshot trotzdem noch das Programm sichtbar ist.
Also es versteckt sich nicht. Manchmal klappt das aber villeicht einmal von 30 Versuchen.
Kann jemand mal bitte einen entsprechenden cod eposten um mein problem zu beseitigen.
Ich bin schon am verzweifeln
Vielen Dank im Voraus.