AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Screenshot von dem Clienten eines fremden Fensters machen
Thema durchsuchen
Ansicht
Themen-Optionen

Screenshot von dem Clienten eines fremden Fensters machen

Offene Frage von "KahPee"
Ein Thema von KahPee · begonnen am 29. Jan 2010 · letzter Beitrag vom 29. Jan 2010
 
Benutzerbild von KahPee
KahPee

Registriert seit: 12. Mai 2009
214 Beiträge
 
Turbo Delphi für Win32
 
#1

Screenshot von dem Clienten eines fremden Fensters machen

  Alt 29. Jan 2010, 14:06
Hallo,

ich möchte einen Screenshot von dem Clienten eines fremden Fensters machen, welches ich mit einem Handle anspreche. (also einen Screen ohne titlebar und borders). Dazu habe ich mir das hier zusammen-geschrieben/kopiert:

Delphi-Quellcode:
function TForm1.FormularSaveScreenShot(FileName: String; h : hWnd): Boolean;
var
  Rec: TRect;
  iWidth, iHeight,left,top: Integer;
  window: TWindowInfo;

begin
  GetWindowInfo(h,window);


  with TBitmap.Create do try
    GetWindowRect(h, Rec);

    iWidth := window.rcclient.right-window.rcClient.left;
    iHeight := window.rcclient.bottom-window.rcClient.top;
    left:=window.rcWindow.Left-window.rcclient.Left;
    top:=window.rcwindow.Top-window.rcClient.top;
    Width := iWidth;
    Height := iHeight;

    BitBlt(Canvas.Handle, left, top, iWidth, iHeight, GetWindowDC(h), 0, 0, SRCCOPY);

    Result := True;

    try SaveToFile(Filename) except Result := False end;
  finally
    ReleaseDC(h, GetWindowDC(h));
    Free;
  end;
end;
Das ausgebene Bitmap hat jetzt allerdings rechts einen weißen Rand (recht schmal, ungefähr die Borderdicke [evtl. nen bisschen mehr]) und außerdem habe ich den Eindruck, dass er eine ein oder zwei pixelbreite spalte des clienten rechts nicht abbildet. Wisst ihr wo der Fehler liegt?

mfg Kahpee
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz