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 Fensterinhalte auslesen (https://www.delphipraxis.net/73097-fensterinhalte-auslesen.html)

webtom 12. Jul 2006 11:40


Fensterinhalte auslesen
 
Hallo,

gibt es die Möglichkeit den Fensterinhalt eines "fremden" Programmes auszulesen. Ich möchte anhand des Inhalts das Fenster identifizieren können. Es sollte also möglich sein, vorallem die Labels auszulesen. Nur ist ein Label wahrscheinlich ja kein Control und deswegen wird es nur gezeichnet sein. Gibt es trotzdem eine Möglichkeit?

Grund: Es gibt Fenster, die sind immer gleich. Gleicher Klassenname, gleicher Fenstertitel. Also kann man es nur am Inhalt identifizieren. Dies kommt z.B. bei Passwortabfragen vor. Wenn nun das Fenster angezeigt wird, möchte ich entscheiden können, ob dieses Fenster relevant ist und ob ich evtl. dem Benutzer dazu Zusatzinfos anzeigen kann. Dazu muss aber der Fensterinhalt abgefragt werden können.

Vielen Dank im Voraus für Tipps.

Grüße,
Tom

webtom 13. Jul 2006 18:16

Re: Fensterinhalte auslesen
 
Hat denn keiner eine Idee?

Christian Seehase 13. Jul 2006 18:18

Re: Fensterinhalte auslesen
 
Moin Webtom,

Wenn es sich wirklich um TLabel handelt, nicht etwa STATICTEXT könntest Du sie nur über Screenshot und OCR auslesen.
Ansonsten findest Du hier reichlich Beispiele (Hier im Forum suchenEnumChildWindows)

webtom 13. Jul 2006 22:19

Re: Fensterinhalte auslesen
 
Jo, da bleibt wohl nur OCR.

Aber trotzdem thx.

webtom 14. Jul 2006 08:27

Re: Fensterinhalte auslesen
 
Wie bekomme ich denn einen Screenshot von einem Fenster (für OCR-Bearbeitung). Also nicht über die Zwischenablage, sondern direkt im Speicher. Und geht das auch, wenn die Anwendung/das Fenster gerade nicht im Vordergrund ist?

xaromz 14. Jul 2006 08:35

Re: Fensterinhalte auslesen
 
Hallo,
Zitat:

Zitat von webtom
Wie bekomme ich denn einen Screenshot von einem Fenster (für OCR-Bearbeitung). Also nicht über die Zwischenablage, sondern direkt im Speicher. Und geht das auch, wenn die Anwendung/das Fenster gerade nicht im Vordergrund ist?

das funktioniert genauso wie ein normaler Screenshot. Du musst nur statt dem Desktop-Handle das Fenster-Handle verwenden.
Code zum Erstellen eines Screenshots findest Du haufenweise in der DP.

Gruß
xaromz

webtom 14. Jul 2006 08:44

Re: Fensterinhalte auslesen
 
Gut, dann werd ich es mal mit OCR versuchen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz