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 Neu hinzugekommenen Text aus einer Anwendung abfangen (https://www.delphipraxis.net/25316-neu-hinzugekommenen-text-aus-einer-anwendung-abfangen.html)

BlackFox 4. Jul 2004 16:59


Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Hallo zusammen,

erstmal vorab: Ich bin neu hier und habe mir wirklich die Mühe gemacht, mittels Suchfunktion in diversen Foren die Lösung "selbst" herauszufinden - also bitte nicht gleich steinigen :roll:

Mein Problem ist folgendes: In einem Programm (Spiel) werden hin und wieder Textausgaben (allerdings so richtig hübsch in Direct-X, oder Direct3D) erzeugt, welche ich gerne für meine Zwecke in einem Delphi-Programm zwischenspeichern würde, damit ich je nach Text diverse Funktionen ausführen kann.

Geht sowas überhaupt? Ich hab gerade mal x-spy ausprobiert und festgestellt, dass die Anwendung nur aus einem Fenster (also keine Child-Windows) besteht.

Vielleicht weiss ja von Euch jemand weiter? Vor lauter Hooks und Handles weiss ich schon nicht mehr, wo mir der Kopf steht :oops:

Viele Grüsse und Danke für jegliches (konstruktives) Feedback.

Tubos 4. Jul 2004 18:25

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Ich bin mir sicher, dass du Textausgaben mit DirectX nicht abfangen kannst.

Außer vielleicht über Hooks, aber das ist ziemlich schwer.
Ich kann dir nicht sagen ob man da wirklich was hooken kann weil ich von DirectX keine Ahnung habe.

BlackFox 4. Jul 2004 18:33

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Hallo Tubos,

erstmal danke für die schnelle Antwort.

Selbst wenn es mittels Hooks schwierig sein wird - ich würde es zumindest gerne mal versuchen, sofern mich jemand hier aus dem Forum auf den richtigen Weg lotsen könnte.

Evtl. ist ja schonmal jemand über ein ähnliches Problem gestolpert und hat zumindest einen Workaround parat? :stupid:

Ratte 4. Jul 2004 18:35

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Kennst du die Texte und ihre Position?
Wenn ja könntest du einen Screenshot machen und prüfen ob an eindeutigen Positionen die richtigen farben sind.

Ratte

Tubos 4. Jul 2004 18:38

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Zitat:

Kennst du die Texte und ihre Position?
Wenn ja könntest du einen Screenshot machen und prüfen ob an eindeutigen Positionen die richtigen farben sind.
Das geht - wenn überhaupt - nur per Zeichenerkennung.
Und selbst wenn es gehen sollte wäre das so rechenintensiv dass du das Spiel vergessen kannst.

edit:
um welches spiel handelt es sich denn?

Ratte 4. Jul 2004 18:47

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Wenn es wenige texte sind, genügt unter umständen ein prüfen an 7-15 Stellen. das könnte gehen.

Ratte

BlackFox 4. Jul 2004 18:49

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Zitat:

Zitat von Tubos
Zitat:

Kennst du die Texte und ihre Position?
Wenn ja könntest du einen Screenshot machen und prüfen ob an eindeutigen Positionen die richtigen farben sind.
Das geht - wenn überhaupt - nur per Zeichenerkennung.
Und selbst wenn es gehen sollte wäre das so rechenintensiv dass du das Spiel vergessen kannst.

ne - also Texterkennung wäre absolut der falsche Ansatz... Ich dachte, es gäbe vielleicht eine Lösung, den Text irgendwie vorher abzufangen, bevor er als Grafik auf dem Bildschirm erscheint - aber wenn es absolut keine gibt, dann kann der Thread hier geschlossen werden :cry:

Tubos 4. Jul 2004 18:52

Re: Neu hinzugekommenen Text aus einer Anwendung abfangen
 
Zitat:

Ich dachte, es gäbe vielleicht eine Lösung, den Text irgendwie vorher abzufangen, bevor er als Grafik auf dem Bildschirm erscheint
Ja, die gibt es: hooks.
Ich kann dir nicht sagen ob es in DirectX einen Befehl gibt mit dem man Buchstaben oder Texte zeichnen kann.
Sollte es so einen Befehl geben, dann kannst du den wahrscheinlich hooken (aber das Spiel wird dadurch langsamer!)
Das kann dir aber nur jemand sagen, der sich mit DirectX auskennt.
Gibt sicher irgendwen...warte mal ab :)


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