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 Nicht-Standart Windows Componenten hooken (https://www.delphipraxis.net/143953-nicht-standart-windows-componenten-hooken.html)

lowF 26. Nov 2009 18:40


Nicht-Standart Windows Componenten hooken
 
Hi Leute! Folgende Frage:

Ich habe in einem Programm (nicht von mir geschrieben, kenne den Quelltext usw nicht) eine Komponente, die wie eine Windowskomponente aussieht (vll ein wenig verändert, aber dennoch ähnlich wie eine TListBox). Jetzt kann ich aber das Handle von dieser Komponente nicht finden (Per FindWindow, EnumWindow ...).

Wenn der Programmierer diese Komponente nur von einer Windowskomponente (Listbox) abgeleitet hat müssten die Standartfunktionen via Sendmessage doch möglich sein?

Wie finde ich das Handle, wenn möglich? Gibt es noch andere Möglichkeiten, den Inhalt auszulesen?

mfg
lowF

Medium 26. Nov 2009 18:56

Re: Nicht-Standart Windows Componenten hooken
 
Etwas was nach Listbox aussieht, muss nicht zwangsweise auch eine (im Windows-Sinne) sein. Javaprogramme haben je nach verwendeter API auch nur ein einziges Fensterhandle, nämlich das des Programmes an sich. Der Rest ist aus Sicht von Windows nichts weiter als Grafik, und die gesamte Logik ist verborgen. Wenn das andere Programm dann nicht explizit eine Schnittstelle bietet, kannst du bestenfalls via Screenshots Daten auslesen, aber nicht manipulieren (zumindest nichts, was sich nicht über Maus/Tastatur-Automation machen ließe).
Das gleiche kann man natürlich in jeder Sprache ebenso tun, bei Java ist es allerdings schon prinzipbedingt so (ausser bei SWT).

lowF 26. Nov 2009 20:05

Re: Nicht-Standart Windows Componenten hooken
 
Also hätte ich bei Java-Komponenten keine Chance, auf den Inhalt zuzugreifen, auch wenn ich z.b. wüsste, dass es Swing oder sonst ein Java-Ding ist?

Edit Dämliche Frage - wurde ja gerade beantwortet. Danke für Die Antwort.


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