Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Wie mache ich einen Screenshot von offenen Fenstern? (https://www.delphipraxis.net/32877-wie-mache-ich-einen-screenshot-von-offenen-fenstern.html)

Cubbie 29. Okt 2004 08:33


Wie mache ich einen Screenshot von offenen Fenstern?
 
Hi,

die Überschrift ist wohl etwas missverständlich, also hier nochmal deutlich.. :)

Ich will im Prinzip eine Bitmap von jedem grade offenen Fenster haben, die das komplette Fenster zeigt. Außerdem sollte das Ganze auch noch schnell gehen, also irgendwelche Tricks wie Fenster nacheinander in den Vordergrund bringen und grabben bringens nicht...
Ich hoffe daher, dass ich hier in der Richtigen Rubrik bin und es eine schnelle Möglichkeit gibt, das direkt abzufragen. :)

roderich 29. Okt 2004 09:09

Re: Wie mache ich einen Screenshot von offenen Fenstern?
 
Bin auf die anderen Antworten schon gespannt.... 8)

Im Prinzip ist genau dafür die Methode GetFormImage von TCustomForm vorgesehen, welche ein Bitmap zurückliefert.

Nur..... die funktioniert nur halb, denn wenn ein Formular teilweise aus dem sichtbaren Teil des Desktops geschoben wird, funktioniert GetFormImage nicht mehr, dieser Teil des gelieferten Bitmaps bleibt leer (weiß).

Daher sind meine Grafik-Routinen zum Zeichnen auf das Formular so "schlau", daß sie sich z.B. auch auf ein Printer.Canvas oder ein Bitmap.Canvas zeichnen können. Das geht natürlich nur für Canvase.


Wie gesagt, wenns was gibt, her damit !

Roderich

Vjay 29. Okt 2004 21:43

Re: Wie mache ich einen Screenshot von offenen Fenstern?
 
Unter WinXP gibts dafür die Funktion PrintWindow -> Google.

Ansonsten musste das per WM_PRINT und DLL-Injecting selber nachbauen, habe ich gerade erst hinter mir.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 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