Inhalt eines fremden Fensters auslesen
Hallo zusammen,
ich versuche gerade ein Programm zu schreiben, das den Inhalt von anderen Fenstern auslesen kann.
Mein Problem ist, dass ich während meiner Suche immer wieder auf die Funktion GetWindowText und die Nachricht WM_GETTEXT komme.
Aber so viel ich damit jetzt rumprobiert habe, und je mehr ich mich über die beiden Arten informiert habe, umso sicherer bin ich mir, dass ich damit nur den Fenstertitel auslesen kann.
Um das Ganze etwas zu verdeutlichen, würde ich gerne bspw. den Inhalt von einer Seite im Internet Explorer automatisch auslesen und in meinem Programm verarbeiten.
(Die Seite mit meinem Programm vom Server selbst anzufordern würde in meinem Fall nicht funktionieren).
Also wie komme ich an den Text in einem fremden Fenster?
Tausend Dank schonmal
Bernd
ich versuche gerade ein Programm zu schreiben, das den Inhalt von anderen Fenstern auslesen kann.
Mein Problem ist, dass ich während meiner Suche immer wieder auf die Funktion GetWindowText und die Nachricht WM_GETTEXT komme.
Aber so viel ich damit jetzt rumprobiert habe, und je mehr ich mich über die beiden Arten informiert habe, umso sicherer bin ich mir, dass ich damit nur den Fenstertitel auslesen kann.
Um das Ganze etwas zu verdeutlichen, würde ich gerne bspw. den Inhalt von einer Seite im Internet Explorer automatisch auslesen und in meinem Programm verarbeiten.
(Die Seite mit meinem Programm vom Server selbst anzufordern würde in meinem Fall nicht funktionieren).
Also wie komme ich an den Text in einem fremden Fenster?
Tausend Dank schonmal
Bernd
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137668
Url: https://administrator.de/contentid/137668
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Bernd,
immer hilfreich ist es, wenn beim Fragestellen auch die verwendete Sprache erwähnt wird. Nun, welche soll es sein?
[edit] Wer lesen kann, ist natürlich im Vorteil. Wie ich sehe, ist die Frage im Forum für C und C++ gestellt.
Zu Deinem erwähnten Beispiel fällt mir übrigens spontan das Stichwort "Web Scraping" ein. In Perl kann man hierzu zum Beispiel das Toolkit Web::Scraper verwenden.
Einen schönen Gruß,
Fitzcarraldo
immer hilfreich ist es, wenn beim Fragestellen auch die verwendete Sprache erwähnt wird. Nun, welche soll es sein?
[edit] Wer lesen kann, ist natürlich im Vorteil. Wie ich sehe, ist die Frage im Forum für C und C++ gestellt.
Zu Deinem erwähnten Beispiel fällt mir übrigens spontan das Stichwort "Web Scraping" ein. In Perl kann man hierzu zum Beispiel das Toolkit Web::Scraper verwenden.
Einen schönen Gruß,
Fitzcarraldo
Hallo Bernd,
richtig: Web Scraper bzw Screen Scraper agieren wie eigenständige Webbrowser und können auch mit Webseiten kommunizieren. Formulare ausfüllen ist möglich, so dass man möglicherweise auch recht einfach eine Anmeldung hinbekommt. Mir hatte damals mal diese Seite Anregungen gegeben:
http://www.linux-magazin.de/Heft-Abo/Ausgaben/2004/03/Datenruessel
Eingehende Pakete abfangen ist auch möglich. Jeder Netzwerksniffer kann das schließlich auch. Das wird dann aber womöglich ein größeres Projekt. Aus den wenigen Eckgrößen, die Du zu Deinem Projekt angibst, vermute ich, dass Du Dich nicht unbedingt mit Netzwerkprotokollen beschäftigen möchtest, sondern auf der Suche nach einer Lösung bist, die einfach das macht, was sie macht, ohne besonders elegant zu sein.
Wenn Du unter Windows über die GUI anderer ausgeführter Programme arbeiten möchtest, also eine Bastellösung auch schon reicht, dann könnte es vielleicht auch über ein AutoIt-Skript gehen. Auf die Schnelle finde ich hierzu zu Beispiel diesen Link:
http://www.autoit.de/index.php?page=Thread&threadID=17796
Und jetzt mache ich gerne die Bahn frei für Lösungsvorschläge der C und C++-Profis. Denn auf diese Sprachen bezieht sich die Frage ja eigentlich. Es war eher Zufall, dass ich in diesen Thread gestolpert bin und ich bin in dieser Ecke auch nicht gut augehoben
Vielleicht lässt sich das auch über eine OCR-Bibliothek leicht lösen?
Grüße,
Fitzcarraldo
richtig: Web Scraper bzw Screen Scraper agieren wie eigenständige Webbrowser und können auch mit Webseiten kommunizieren. Formulare ausfüllen ist möglich, so dass man möglicherweise auch recht einfach eine Anmeldung hinbekommt. Mir hatte damals mal diese Seite Anregungen gegeben:
http://www.linux-magazin.de/Heft-Abo/Ausgaben/2004/03/Datenruessel
Eingehende Pakete abfangen ist auch möglich. Jeder Netzwerksniffer kann das schließlich auch. Das wird dann aber womöglich ein größeres Projekt. Aus den wenigen Eckgrößen, die Du zu Deinem Projekt angibst, vermute ich, dass Du Dich nicht unbedingt mit Netzwerkprotokollen beschäftigen möchtest, sondern auf der Suche nach einer Lösung bist, die einfach das macht, was sie macht, ohne besonders elegant zu sein.
Wenn Du unter Windows über die GUI anderer ausgeführter Programme arbeiten möchtest, also eine Bastellösung auch schon reicht, dann könnte es vielleicht auch über ein AutoIt-Skript gehen. Auf die Schnelle finde ich hierzu zu Beispiel diesen Link:
http://www.autoit.de/index.php?page=Thread&threadID=17796
Und jetzt mache ich gerne die Bahn frei für Lösungsvorschläge der C und C++-Profis. Denn auf diese Sprachen bezieht sich die Frage ja eigentlich. Es war eher Zufall, dass ich in diesen Thread gestolpert bin und ich bin in dieser Ecke auch nicht gut augehoben
Vielleicht lässt sich das auch über eine OCR-Bibliothek leicht lösen?
Grüße,
Fitzcarraldo