Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fenster finden (https://www.delphipraxis.net/105722-fenster-finden.html)

msickel 28. Dez 2007 10:34


Fenster finden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich hab ein kleines Problem, ich habe versucht mit X-Spy einen Code zu generieren der mich zu einem bestimmten Fenster bring um dort dann ferngesteuert Text reinschreiben zu können, leider funktioniert das aber nicht. Ich stelle hier mal den Code rein, vielleicht kann mir ja jemand helfen. Zudem stelle ich noch das Bild ein in dem man die Parents sieht.

Delphi-Quellcode:

  wnd := FindWindow('ThunderRT6Form', 'Gesprächsmonitor - Vertical TeleVantage ViewPoint');
  wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);  // hier stimmt es schon nicht mehr
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ABSDynaBarCls', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6PictureBox', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6UserControl', nil);
  wnd := FindWindowEx(wnd, 0, 'ThunderRT6TextBox', '<Anmerkungen>');

funktionieren tut das bis zum Handle 402E4, danach nimmt er dann anstelle von 402EA das Handle 402F0, warum? (sieht man auf dem Bild).

Danke mal für Eure Hilfe!

Martin

bitsetter 28. Dez 2007 11:20

Re: Fenster finden
 
Hi,

weil beide den Klassennamen ThunderRT6UserControl haben und das andere Fenster dummerweise zuerst gefunden wird.

An der Stelle könnte man mit
Delphi-Quellcode:
Wnd := GetWindow(Wnd, GW_HWNDPREV)
oder mit
Delphi-Quellcode:
Wnd := GetWindow(Wnd, GW_HWNDNEXT)
arbeiten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz