Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi extraktion oder einbringung von infos durch handel (https://www.delphipraxis.net/82727-extraktion-oder-einbringung-von-infos-durch-handel.html)

ghost007 18. Dez 2006 20:44


extraktion oder einbringung von infos durch handel
 
Hallo,
da ich jetzt schon an mehreren stellen eine lösung für das problem brauche, will ich hier mal allgemein fragen.
Bis zum ermitteln des window handels komm ich noch, aber dann, wie kann ich auf richedits,edits,buttons,treeviews, etc. aus dem window zugreifen?
z.B. wie kann ich den inhalt eines richedits/edits in meine form "importieren"?
bzw. wie kann ich text eingeben in das richedit/edit?
oder
z.B. einen button in einer fremd anwendung, deren handel ich habe drücken?`

Um den handel herraus zu finden benutz ich imoment SpyEx, dort kann ich mir auch die "unterhandel" von den buttons anzeigen lassen,
aber aus den ausgewerteten daten werd ich einfach nicht schlau, wie verwende ich diese?

Bitte helft mir ... :wall:

Danke

MfG - Ghost007

Christian Seehase 18. Dez 2006 22:08

Re: extraktion oder einbringung von infos durch handel
 
Moin Christian,

da ein Handle erst zur Laufzeit seinen Wert erhält, und dieser jedesmal ein anderer sein kann, nutzen Dir die Ermittelten Werte eigentlich nichts.
Du solltest Dir mal die Threads zu Hier im Forum suchenEnumWindows und Hier im Forum suchenEnumChildWindows ansehen.
Auch ein Button oder ein Edit sind Fenster, nur eben mit besonderen Eigenschaften.

Wie man dann auf die verschiedenen Controls zugreifen kann hängt, unter anderem, davon ab ob diese schon zu 16-Bit-Windows-Zeiten existierten (z.B. Button, Edit) oder erst mit 32-Bit-Windows eingeführt wurden (z.B. ListView).

ghost007 19. Dez 2006 13:37

Re: extraktion oder einbringung von infos durch handel
 
Hi,
das heißt das ich erst einmal den Handle von der application brauch und dann den "unterhandle" von dem objekt was ich auf der application auslesen/benutzten will?
Also hat jedes Element auf der applications form einen eigenen handle,oder?

MfG - Ghost007

Christian Seehase 19. Dez 2006 13:48

Re: extraktion oder einbringung von infos durch handel
 
Moin Christian,

nur der Begrifflichkeit wegen:
Ein Application-Form ist VCL-spezifisch.
Jede VCL-Anwendung hat ein, unsichtbares, Application-Window, dass, sozusagen als Ausgangspunkt für die übrigen Formulare dient.

Alle Windows-Controls haben Handle (z.B. Button, Edit), viele rein graphische (z.B. TLabel) aber nicht.
Mit EnumWindows kannst Du durch alle Top-Level-Windows gehen, mit EnumChildWindows dann durch deren untergeordnete "Fenster".
In Anführungsstrichen, da, z.B., ein normaler Button auch ein Fenster ist, nur mit besonderen Eigenschaften.
Die mit EnumChildWindows ermittelten Fenster könnten allerdings auch wieder untergeordete Controls enthalten.

Bei den genannten Funktionen solltest Du hier auch einige Beispiele finden, in denen dann das Auslesen/Setzen des Textes gezeigt wird (WM_GETTEXTLENGTH, WM_GETTEXT), das Aktivieren eines Buttons (BM_CLICK), oder auch das Ermitteln der zugehörigen Fensterklasse (GetClassName).


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 Uhr.

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