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 Bin verzweifelt IRGENDJEMAND bitte?? (Handle) (https://www.delphipraxis.net/6011-bin-verzweifelt-irgendjemand-bitte-handle.html)

Diablo9876 26. Jun 2003 10:34


Bin verzweifelt IRGENDJEMAND bitte?? (Handle)
 
Kann mir jemand bei die folgenden Probleme helfen:

Ich möchte von mein Program Text senden nach der Editbox von einem (fremden) Program, und der Button(fremden Program) klicken.
Habe WindowsInfo von Lucky gebraucht um die ID und den ClassName von der Editbox zu bekommen (ID:000002C0, ClassName: TEdit).
ABER jetzt komts: Die Editbox ist das 3e Childfenster von einem Childfenster mit Classn: TPanel.
Das TPanel Fenster ist wieder das 2e ChildFenster von das Hauptfenster(TestProg).

Kan mir einer sagen wie ich das machen soll mit: GetDlgItem(hParent, ID), EnumWindows, EnumChildWindows ??
Und bitte schreibt wenn ihr könnt etwas Example Code dabei(Bin noch recht neu in Delphi).

Vielen Dank erstmal.

P.S: Findwindow und Findwindowex funktionieren nicht wenn das Childfenster nicht direkt auf dem Hauptfenster liegt.
Das steht hier irgendwo im Forum.
:?:

Luckie 26. Jun 2003 10:47

Dann mußt du EnumChildWindows rekursiv aufrufen, und die ID ergleichen bis du das gewünschte Edit hast.

Aber vorsicht, bei Programme, die mit Delphi erstellt wurden, haben die Kontrolls keine eindeutige ID. Bei Delphi-Programmen wird zur Laufzeit die ID aus dem Handle gebildet und ändert sich somit auch bei jedem Start des Programmes!

Diablo9876 26. Jun 2003 11:07

Hallo Lucky, kannst du mir den Rekursiven aufruf von EnumChildWindows ein bißchen genauer erklären bitte durch zb ein Beispiel Code?
Und der Handle vom Hauptfenster kriege ich durch EnumWindows?

Wenn die Caption vom Hauptfenster 'TestProg' ist wie kann ich dan am besten den Handle von der Editbox(Class:TEdit) kriegen.
P.S: Es gibt 2 Editboxen mit der Class(TEdit) in dem Program.

Was ist die beste Methode?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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