Registriert seit: 17. Jan 2007
1.169 Beiträge
Turbo Delphi für Win32
|
Re: Grafik als screenshot
26. Feb 2007, 20:00
Delphi-Quellcode:
uses Printers;
Procedure BildAusSchnitt(hWND: HWND; iLeft, iTop, iWidth, iHeight: integer);
var
c: TCanvas;
begin
BringWindowToTop(hWND);
c:= TCanvas.Create;
c.Handle:= GetWindowDC(hWND);
try
printer.begindoc;
printer.Canvas.CopyRect(Rect(0, 0, iWidth* 10, iHeight* 10), c, Rect(iLeft, iTop, iLeft+ iWidth, iTop+ iHeight));
printer.enddoc;
finally
ReleaseDC(hWND, c.handle);
c.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
BildAusSchnitt(Form54.Handle, 0, 0, Form54.Width, Form54.Height);
end;
Wie der Name der Procedur es schon vermuten lässt, kann man wenn die Parameter verändert werden, auch nur ein Bildausschnitt ausdrucken.
Theoretisch kannst du damit auch fremde Fenster ausdrucken, wenn du das Handle des Fensters kennst.
Gruß bitsetter
"Viele Wege führen nach Rom" Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
|
|
Zitat
|