Einzelnen Beitrag anzeigen

Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Screenshot einer versteckten Form (oder so)

  Alt 9. Aug 2010, 11:26
Mit folgender Routine kann man auch von unsichtbaren Formularen Screenshots erzeugen:

Delphi-Quellcode:
procedure PrintWindow(Wnd: HWND; ATo: TBitmap);
var
  hDCMem : HDC;
  DC : HDC;
  rect : TRect;
  bmp : HBITMAP;
  hOld : HGDIOBJ;
begin
  hDCMem:=CreateCompatibleDC(0);

  GetWindowRect(Wnd, rect);

  bmp:=0;

  DC:= GetDC(Wnd);
  bmp:= CreateCompatibleBitmap(DC, rect.Right-rect.Left, rect.Bottom-rect.Top);
  ReleaseDC(Wnd, DC);

  hOld:=SelectObject(hDCMem, bmp);
  SendMessage(wnd, wm_Print, hDCMem, PRF_CHILDREN or PRF_CLIENT or PRF_ERASEBKGND or PRF_NONCLIENT or PRF_OWNED);

  selectObject(hDCMem, hold);
  DeleteObject(hDCMem);

  ATo.FreeImage;
  ATo.Handle:=bmp;
end;
Quelle: http://code.google.com/p/theunknowno.../uSysTools.pas
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat