![]() |
Graphik eines anderen Windows Fensters capturen
Hallo,
wie bekomme ich den Handle eines Fensters welches zu einem anderen geoeffneten Programm gehoert und darueber dessen Graphikinhalt als Bitmap? Gutelo Edit: ich hab folgendes gefunden: ![]() Allerdings haben sie vergessen den Typ der Varible EnumWindowsProc anzugeben. Der Source Code kompiliert aber liefert eine exception wenn ich EnumWindowsProc als integer definiere. Edit2: ahhh, EnumWindowsProc ist eine function Edit3: source liefert trotzdem eine Zugriffsverletzung |
AW: Graphik eines anderen Windows Fensters capturen
So, der Sourcecode aus der angegebenen Page funktioniert jetzt.
Ich hatte zunaechst die Funktionen als Methoden des Forms TForm1 implementiert. Aus irgendeinem Grund fuehrt dies zu einer Zugriffsverletzung. Nachdem ich die Funktionen keiner Klasse zugeordnet habe geht alles. Wieso ist das so? |
AW: Graphik eines anderen Windows Fensters capturen
Zitat:
Delphi-Quellcode:
)
class procedure ...; static;
Siehe Hilfe. Beim FindAWindow ist das natürlich egal. Zitat:
Aber das Boolean als Result von EnumWindowsProc ist definitiv falsch, denn das muß ein BOOL, bzw. LongBool sein. Hast du mal nachgesehn wo ![]() Und schon weißt du, wo man die Hilfe/Informationen dazu findet. PS: GetMem ... Bedenke daß der Code alt ist, wobei der Tipp noch nicht sooo alt ist, aber dennoch ist das ein ANSI-Coded, auch wenn er automatisch auf Unicode läuft, aber wenn man bei ![]() ![]() Somit ist seit D2009 das GetMem zu klein ... unbedingt immer mit
Delphi-Quellcode:
die Größe beim GetMem richtig anpassen.
... * SizeOf(Char)
Ach ja, die Größenangabe beim FreeMem ist und war ebenfalls schon immer total falsch. :wall: Entweder richtig, oder am Einfachten garnicht angeben ... also einfach eine
Delphi-Quellcode:
.
0
|
AW: Graphik eines anderen Windows Fensters capturen
Danke fuer die Infos Himitsu,
sollte ich diese Version verwenden oder gibt es eine bessere Methode um auf fremde Windows zuzugreifen? Hast du einen Tipp wie man mit dem Window Handle ein Capture des Inhalts bekommen kann? |
AW: Graphik eines anderen Windows Fensters capturen
Also generell solltest Du so vorgehen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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