FindWindowEx - Find Button
-
Hallo zusammen,
ich benötige das Handle eines Buttons in einer Anwendung. Die Klasse habe ich mir mit Spy++ herausgesucht. Den Titel kenne ich(wird von uns gesetzt)(zur Sicherheit habe ich ihn mir ebenfalls aus Spy+++ herauskopiert). Problem ist nur, dass wenn ich
FindWindowEx(winhwnd, NULL, "Button", "Budgetierung")
aufrufe ich nichts zurückbekomme obwohl ich ganz genau weiß das es den Button gibt und ich ihn auch mit Spy++ analysieren kann.
Vieleicht noch ein paar Infos zu meinem Window:
Wir haben ein Window mit ziemlichen vielen Handles und SubWindows und darunter wieder SubWindows usw. Der Button liegt natürlich nicht direkt unter dem Main Window sondern ziemlich verschachtelt(wie verschachtelt das ich, wissen wir nicht da es dynamisch ist).Wie finde ich erstmal überhaupt meinen Button korrekt?
-
secondsun schrieb:
Der Button liegt natürlich nicht direkt unter dem Main Window sondern ziemlich verschachtelt(wie verschachtelt das ich, wissen wir nicht da es dynamisch ist).
Dann ist wohl winhwnd nicht der direkte parent und du brauchst http://msdn.microsoft.com/en-us/library/windows/desktop/ms633494
-
Hi,
danke schon mal für deine Antwort. Egal wie ich es gerade versuche zusammen zu schustern... Ich kriege keine saubere und kompakte Lösung hin. Kennst du vielleicht was fertigen was dann ungefähr so aussieht:
HWND meincontrol = FindeMeinControl(HWND window, char *windowclass, char *windowtitle);
-
Hast du überhaupt EnumChildWindows zum laufen gebracht? Damit sollten alle childs, child-childs usw. durchgegangen werden. Im EnumChildProc dann einfach das jeweilige hwnd mit GetClassName/WM_GETTEXT abfragen.