Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: TWebbrowser Screenshot erstellen u.Zwichenablage kopieren

  Alt 8. Dez 2011, 18:38
Ok, das kommt davon, wenn man neben der Arbeit etwas macht ...

ich denke der Code kommt näher an die Anforderung heran.

Delphi-Quellcode:
function CompleteShot(wnd: HWND; const bmp: TBitmap): Boolean;
var
  rec: TRect;
  dllh: THandle;
  PrintWindow: function(sHandle: HWND; dHandle: HDC; nFlags: UINT): BOOL; stdcall;
begin
  Result := False;
  dllh := GetModuleHandle(user32);
  if dllh <> 0 then
  begin
    @PrintWindow:= GetProcAddress(dllh , 'PrintWindow');
    if @PrintWindow <> nil then
    begin
      GetWindowRect(wnd, rec);
      bmp.Width := rec.Right - rec.Left;
      bmp.Height := rec.Bottom - rec.Top;
      bmp.Canvas.Lock;
      try
        result := PrintWindow(wnd, bmp.Canvas.Handle, 0);
      finally
        bmp.Canvas.Unlock;
      end;
    end;
  end;
end;



procedure TForm2.Button2Click(Sender: TObject);
var

Bitmap:TBitmap;
begin
  Bitmap:= TBitmap.Create;
  CompleteShot(Handle, Bitmap);
  try
    Clipboard.Assign(Bitmap);
  finally
    Bitmap.Free;
  end;
  Showmessage('Eine Hardcopy wurde in die Zwischenablage kopiert.');
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat