![]() |
Screenshots einzelner Fenster
Hallo,
ich muss Screenshots einiger Fenster von bestimmten Prozessen machen - ansich kein Problem, ABER: die Fenster können minimiert oder irgendwo im Hintergrund (durch andere Fenster verdeckt) sein. Ich kann sie natürlich "restoren" und in den Vordergrund holen, jedoch handelt es sich dabei um sehr komplexe Applikationen die unter Umständen recht lange brauchen, bis der Fensterinhalt wieder vollständig neu gezeichnet ist. Wenn ich den Screenshot zu früh mache kommt als nur Mist dabei raus. Daher meine Frage - gibt es irgendwelche APIs/Messages die ein Fenster dazu veranlassen sich neu zu zeichnen und erst zurückkehren, wenn das Fenster damit fertig ist? Ich hab bis jetzt leider nichts gefunden.... LG, Manuel |
Re: Screenshots einzelner Fenster
Brauchst du einen Scrennshoot oder willst du nur das Fenster ausdrucken?
|
Re: Screenshots einzelner Fenster
Hallo,
du kannst das per InvalidateRect oder SendMessage (WM_PAINT) machen, aber Windows ist so intelligent, dass es keine versteckten Fenster zum Neuzeichnen veranlasst. Ausserdem würde ich das als Programmierer der App ebenfalls abfragen, warum Neuzeichnen, wenn ich versteckt bin ? Drittes Problem. WM_PAINT ist Nachricht mit niedriger Priorität. Meine Lösung deshalb: Vergess das ganze. Heiko |
Re: Screenshots einzelner Fenster
Zitat:
man könnte dann noch versuchen mit
Delphi-Quellcode:
das Fenster nach vorne zu holen und dann in einer Schleife solange darauf warten.
windows.SetForegroundWindow()
Delphi-Quellcode:
while windows.GetForegroundWindow <> ... do
Zitat:
|
Re: Screenshots einzelner Fenster
Hallo, erstmal danke für die Antworten!
@mkinzler: ich brauch einfach den Inhalt des Fensters - es muss nicht unbedingt ein Screenshot sein, aber was gibt es für Alternativen? WM_PRINT/WM_PRINTCLIENT sind AFAIK keine wirklichen Alternativen, da die jeweilige Anwendung diese Nachrichten explizit unterstützen muss - zumindest laut PSDK: Zitat:
Zitat:
|
Re: Screenshots einzelner Fenster
Handelt es sich um ein Programm von dir?
|
Re: Screenshots einzelner Fenster
Nein, genau das ist das Problem.. es handelt sich um verschiedene Programme anderer Hersteller.
|
Re: Screenshots einzelner Fenster
Zitat:
|
Re: Screenshots einzelner Fenster
Nein, versucht hab ich es noch nicht, werd ich aber vielleicht noch. Ich hab aber keine großen Hoffnungen, da die Anwendung große Netzpläne grafisch darstellt etc. und genau darum geht es - also nicht einfach nur um normale Standard-Steuerelemente.
|
Re: Screenshots einzelner Fenster
Und das Programm hat keine Druckfunktion?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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