Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Inhalt eines fremden Fensters auslesen

Frage Entwicklung C und C++

Mitglied: BernddasBrot2

BernddasBrot2 (Level 1) - Jetzt verbinden

08.03.2010 um 13:42 Uhr, 6595 Aufrufe, 6 Kommentare

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
Mitglied: Fitzcarraldo
08.03.2010 um 15:02 Uhr
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
Bitte warten ..
Mitglied: BernddasBrot2
09.03.2010 um 06:37 Uhr
Hallo Fitzcarraldo,

so weit ich das jetzt mit Web Scraping gesehen habe, läuft das wohl mehr oder weniger drauf raus, die Seiten vom Server erneut anzufragen. Da ich mich aber bei einer Seite anmelden muss, kann ich diese Seiten nicht nochmal mit meinem Programm anfordern, da ich sonst automatisch ausgeloggt würde. Dann müsste ich mich ständig neu einloggen.

Ich hätte vielleicht eher an eine Möglichkeit gedacht, das Fenster direkt auszulesen, indem ich vielleicht irgendwelche Nachrichten abfange, o. ä.
Oder gäbe es da vielleicht eine Möglichkeit die eingehenden Pakete auf einem bestimmten Port abzufangen?

Trotzdem schon mal Danke
Bernd
Bitte warten ..
Mitglied: Fitzcarraldo
09.03.2010 um 13:39 Uhr
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
Bitte warten ..
Mitglied: BernddasBrot2
09.03.2010 um 14:34 Uhr
Danke, für die Antwort.

Ja, eine Bastellösung wäre schon genug für mich. Allerdings hätte ich auch kein Problem damit, mich mit Protokollen auseinanderzusetzen, um die Pakete abzufangen. Da wäre ich schon ziemlich froh, wenn mir jemand einen Anhaltspunkt geben könnte, in welche Richtung ich da suchen muss, wäre das schon mal nicht schlecht. Auch wenn's dann aufwendiger wird, wäre kein Problem, schließlich lernt man ja mit der Herausforderung ;)

Gruß
Bernd
Bitte warten ..
Mitglied: Fitzcarraldo
09.03.2010 um 15:13 Uhr
Nun, Bernd,

dass Du die Herausforderung suchst, gefällt mir. Ich würde dann mal einen Blick auf die Packet Capture Library (PCAP) werfen.

Viel Erfolg!

Grüße,
Fitzcarraldo
Bitte warten ..
Mitglied: BernddasBrot2
10.03.2010 um 00:05 Uhr
Vielen Dank,
das hat mir viel geholfen. Ich denke jetzt komme ich klar.

Grüße,
Bernd
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Text-Datei auslesen und Inhalt als Parameter übergeben (1)

Frage von aubm2013 zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...