GetWindowText auf "fremde" Buttons
-
Hi,
ich versuche bei ein anderes Fenster (gehört zu einem anderen Programm) auf einen Button klicken zu lassen. Mit Spy++ hab ich mir die Struktur angesehen und der Button ist vom Typ "AfxWnd42u" und bei Spy++ steht auch dabei, was in dem Button steht. Genau danach suche ich mit "EnumChildWindows". Dann rufe ich bei jedem hWnd "GetWindowText" auf. Aber das klappt nicht, hab eben auch in der Doku gesehen, dass diese Funktion nicht in fremden applicationen läuft.
Eigentlich mache ich es mit anderen Buttons einfach so, dass ich mit FindWindowEx die Buttons suche, das klappt auch wenn ich den genauen Inhalt weiß, wie der Button beschriftet ist. Nur bei ein paar Buttons ändert sich die BEschriftung, bzw es kommt noch was hinzu. Dann findet die Funktion FindWindowEx die Fenster nicht mehr, weil in dem Button jetzt nicht mehr bsp. "hallo" steht sondern "hallo 123". Ich bräuchte also ne suche über einen Teilstring.
Versteht das jemand? ^^Ums kurz zu machen: Wie komme ich trotzdem an die "buttonbeschriftung" heran? GetWindowText klappt nicht, aber "findWindowEx" kann aber trotzdem den String vergleichen... also muss es doch auch irgendwie anders gehen ?
-
ok man sollte die Doku auch komplett durchlesen:
"To retrieve the text of a control in another process, send a WM_GETTEXT message directly instead of calling GetWindowText."
Klappt zwar jett im ersten Anlauf auch nicht so wie ich mir das vorstelle, aber vielleicht liegt der Fehler auch woanders, muss noch bissel rumprobiern ...
-
ok Problem gelöst
hatte nämlich ein ganz anderes...
Fenster die keinen Titel haben gegen nen 0 String zurück und der ist wohl immer Teilstring eines anderen Strings und deshalb brach "strstr" nicht wie ich dachte ab sondern lieferte was ungleich Null ..