AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Properties von Objekten eine fremden Delphi-App
Thema durchsuchen
Ansicht
Themen-Optionen

Properties von Objekten eine fremden Delphi-App

Ein Thema von HPW · begonnen am 16. Jul 2007 · letzter Beitrag vom 17. Jul 2007
Antwort Antwort
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#1

Properties von Objekten eine fremden Delphi-App

  Alt 16. Jul 2007, 09:01
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?
Hans-Peter
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#2

Re: Properties von Objekten eine fremden Delphi-App

  Alt 16. Jul 2007, 09:24
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Properties von Objekten eine fremden Delphi-App

  Alt 16. Jul 2007, 09:25
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#4

Re: Properties von Objekten eine fremden Delphi-App

  Alt 16. Jul 2007, 09:30
Ä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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Properties von Objekten eine fremden Delphi-App

  Alt 16. Jul 2007, 12:42
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.
Miniaturansicht angehängter Grafiken
dropdowncount_187.jpg  
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#6

Re: Properties von Objekten eine fremden Delphi-App

  Alt 17. Jul 2007, 07:49
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.
Hans-Peter
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Properties von Objekten eine fremden Delphi-App

  Alt 17. Jul 2007, 08:18
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...
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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