![]() |
Button in Fremdanwendung erzeugen
Ist es möglich in einer Fremdanwendung einen Button oder
auch andere Controls zu erzeugen. vielen Dank The-Networker |
Re: Button in Fremdanwendung erzeugen
Hi,
das ist möglich. Du musst die WndProc des Zielfensters überschreiben. Stichwort: ![]() Gruß, Markus |
Re: Button in Fremdanwendung erzeugen
Hallo Markus,
war jetzt ein wenig im Osterstress. Wie kann ich denn das WND-Proc überschreiben. Ich habe bis jetzt durch enumerieren den Application.Handle des Zielprogrammes herausgefunden. Gruß Uwe |
Re: Button in Fremdanwendung erzeugen
Ich bin mir gar nicht so sicher, ob das überhaupt geht unter NT ff., weil du ja in den anderen Prozess rein musst.
Den Button bekommst du mit ![]() ![]() Die Forensuche könnte auch Ergebnisse liefern, ich meine Assarabad hätte sich dazu schon mal geäußert. |
Re: Button in Fremdanwendung erzeugen
Hallo Lucky,
schönen Dank für die Anregungen. Ich werde jetzt versuchen die unterschiedlichen Ansätze auszuprobieren. Wenn ich nicht weiterkomme würde ich dieses Thema gerne noch einmal hier reinstellen. Gruß Uwe |
Re: Button in Fremdanwendung erzeugen
das mit dem createwindow läuft ja ganz gut aber wie geht des mit dem SetWindowlong? Kann da jemand ein beispiel geben?
|
Re: Button in Fremdanwendung erzeugen
Hi,
Zitat:
Window procedure umbiegen:
Code:
Window procedure zurücksetzen:
// alte WndProc speichern
// zum "Beenden" wird später wieder alte WndProc zurückgesetzt oldProc := GetWindowLong(TargetWnd, GWL_WNDPROC); // alte mit unserer neuen, eigenen WndProc überschreiben SetWindowLong(TargetWnd, GWL_WNDPROC, Integer(@NewWndProc));
Code:
Wie Luckie aber schon angemerkt hat, muss das im Addressraum der Zielanwendung geschehen. Wir müssen diesen (Pseudo-)Code also in den anderen Addressraum
SetWindowLong(TargetWnd, GWL_WNDPROC, oldProc);
![]() ![]() Gruß, Markus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz