Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Properties von Objekten eine fremden Delphi-App (https://www.delphipraxis.net/95926-properties-von-objekten-eine-fremden-delphi-app.html)

HPW 16. Jul 2007 08:01


Properties von Objekten eine fremden Delphi-App
 
Hallo,

Kann man die Properties von Objekten einer fremden Delphi-Anwendung manipulieren?

Ich möchte die Eigenschaft DropDownCount einer Combobox einer fremden Delphi-Anwendung vergrössern.
Da ich das Programm nicht neu kompilieren kann, habe ich nach einer Möglickkeit über API (SendMessage) gesucht
aber leider nicht gefunden.

Das Handle der Combobox kann ich ermitteln, aber kann man Delphi-Properties zur Laufzeit irgendwie überschreiben?

Phoenix 16. Jul 2007 08:24

Re: Properties von Objekten eine fremden Delphi-App
 
Einen Speicherbereich einer fremden Anwendung kannst Du nicht mal 'so eben' verändern.
Mir würde dazu jetzt einfallen: Dll injection in die fremde Anwendung, Handle hernehmen, via Handel das Control herziehen, zu DropDownBox casten und dann DropDownCount verändern.

Bernhard Geyer 16. Jul 2007 08:25

Re: Properties von Objekten eine fremden Delphi-App
 
Zitat:

Zitat von Phoenix
Mir würde dazu jetzt einfallen: Dll injection in die fremde Anwendung, Handle hernehmen, via Handel das Control herziehen, zu DropDownBox casten und dann DropDownCount verändern.

Und hoffen das man die gleiche Delphi-Version mit gleichen Patch-Stand hat. Ansonsten passen die Speicherlayouts der Instanzen nicht überein.

Phoenix 16. Jul 2007 08:30

Re: Properties von Objekten eine fremden Delphi-App
 
Äh, da ist was dran. Hab ich nicht weit genug gedacht.

Dann per RTTI das Property herziehen. Da es im Objektinspektor zu sehen ist, muss es via RTTI zu bekommen und zu verändern sein. Damit bist Du vom eigenen Speicherlayout unabhängig.

bitsetter 16. Jul 2007 11:42

Re: Properties von Objekten eine fremden Delphi-App
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von HPW
Da ich das Programm nicht neu kompilieren kann, habe ich nach einer Möglickkeit über API (SendMessage) gesucht
aber leider nicht gefunden.

Hallo,

falls das Urheberrecht des Programmes es erlaubt und es nicht gepackt worden ist, könntest du ja versuchen die Ressource des entsprechenden Formulars zu patchen.
Dazu fügst du zum Beispiel mit Hilfe des Programms Bei Google suchenResource Hacker den Text DropDownCount = ... hinzu oder änderst ihn ab. (siehe Anhang)
Das ganze ist wohl auch von der Delphi-Version abhängig, aber bei neueren Versionen sollte es funktionieren.
Wenn der Wert von dem Programm zur Laufzeit jedoch geändert wird, dann funktioniert es wohl nicht.

HPW 17. Jul 2007 06:49

Re: Properties von Objekten eine fremden Delphi-App
 
Danke für die Info.
Ich wollte nur sicher gehen, nichts übersehen zu haben.

@bitsetter

Funktioniert hier auch nicht da das Programm mit einem EXE-Kompresssor gepackt ist.

Elvis 17. Jul 2007 07:18

Re: Properties von Objekten eine fremden Delphi-App
 
Zitat:

Zitat von Phoenix
Äh, da ist was dran. Hab ich nicht weit genug gedacht.

Dann per RTTI das Property herziehen. Da es im Objektinspektor zu sehen ist, muss es via RTTI zu bekommen und zu verändern sein. Damit bist Du vom eigenen Speicherlayout unabhängig.

Die RTTI wird dir doch da auch nix helfen können. Nicht wenn du 2 unterschiedliche RTLs hast...


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