![]() |
Controls in fremden Anwendungen erstellen
Hallo,
ich habe eine grundsätzliche Frage zur Windows API: Ist es möglich das meine Anwendung ein Steuerelement in einem Fenster einer anderen Anwendung erstellt ohne das ich auf Techniken wie z.B. DLL Injection zurückgreifen muss? Ich habe mal ein bißchen rumprobiert, konnte aber leider keinen Erfolg erzielen. Nun frage ich mich, ob ich einen Fehler in meinem Quellcode habe oder ob es eine grundsätzliche Einschränkung gibt. Grüße, Stefan |
Re: Controls in fremden Anwendungen erstellen
Zitat:
Deine Frage ist selbst mit der :glaskugel: nicht beantwortbar. Du müsstest schon weitere Details liefern. Wie sieht denn dein Quelltext aus, was hast du probiert? |
Re: Controls in fremden Anwendungen erstellen
Ich habe es geschafft - es ist also möglich ;)
Das ist jetzt sicher nicht sauber, aber es hat funktioniert: hwnd ist das Handle des parents wwmenubtn ist eine Klasenvariable
Delphi-Quellcode:
Nachteil: man muss die Messages umleiten um sie zu bekommen ...
if Hwnd <> 0 then
begin WWMenuBtn := TButton.Create(Self); with WWMenuBtn do begin Left := 600; Top := 1; Width := 60; Height := 18; Caption := '&Plugins'; Parent := nil; OldMenuBtnWndProc := WindowProc; WindowProc := MenuBtnWndProc; ParentWindow := MenuHwnd; end; end; procedure TForm1.MenuBtnWndProc(var Msg: TMessage); begin if Msg.Msg = WM_LBUTTONUP then begin Beep; end; OldMenuBtnWndProc(Msg); end; |
Re: Controls in fremden Anwendungen erstellen
Hallo,
vielen Dank für eure Antworten. Der Code funktioniert super. Ich habe in meinem Code das Umleiten der Nachrichtenschleife nicht getan. @Toms: Ist nur eine kleine Spielerei. Ich wollte einfach mal wissen in welchen Umfang man die Oberfläche einer anderen Anwendung manipulieren kann. Grüße Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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