AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Control in eine fremde Anwendung bringen???
Thema durchsuchen
Ansicht
Themen-Optionen

Control in eine fremde Anwendung bringen???

Ein Thema von merovingian · begonnen am 23. Jun 2004 · letzter Beitrag vom 10. Dez 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 14:53
Zitat von Luckie:
Und Hooks können ziemlich gefährlich sein. Ich hatte ein Messenger Programm. Das hat wohl auch einen Hook installiert oder so was. Jedenfalls jedesmal, wenn ich im Explorer eine Datei oder Ordner mit der Rechten Maustaste angeklickt habe ist der Messenger mit einer Exception abgestürzt. Ich brauche wohl nicht zu erwähnen, dass er ziemlioch schnell wieder runter war.
Hm, ICQ hat doch nen Hook für den Context-Menü Handler ("ICQ - Send to User"), damit immer alle online-User angezeigt werden oder?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 15:26
Es war ein anderer Messenger. Aber das tut nichts zum Thema. Ich wollte nur zeigen, dass man mit Hooks sehr vorsichtig sein sollte, da es ein nicht gerader oberflächlicher Eingriff in das System bedeutet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
merovingian

Registriert seit: 23. Okt 2003
9 Beiträge
 
#13

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 20:05
Hallo,

Zitat von merovingian:
ein Hook ansich ist ja nichts schlimmes wenn er sauber und unschädlich arbeitet und immer schön CallNextHookEx aufruft
wie gesagt... und das ganze ist natürlich auf freiwilliger Basis. Wers nicht installieren will kanns auch lassen.
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#14

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 20:31
Zitat von merovingian:
Komisch, dass war eigentlich mein erster Gedanke .. nur da hats nicht funktioniert. Naja, dann werd ichs nochmal probieren.
Hat's mitlerweile funktioniert?
Wenn nicht, hast Du auch die Windows-API von SetParent und nicht die Delphi-Eigene benutzt? Also damit war's bei mir kein Problem. Hilft übrigens auch um nervige Werbebanner oder Popups in einen Panel gefangen zu halten.
Delphi-Quellcode:
HWND SetParent(
     HWND hWndChild,   // handle of window whose parent is changing
     HWND hWndNewParent    // handle of new parent window
    );
procedure SetParent(AParent: TWinControl); virtual;?
Zitat von merovingian:
... wenn man etwas wirklich sinnvolles programmiert, was dann auch von vielen genutzt wird entstehen ein Haufen Unkosten, die gedeckt werden müssen.
Ok das seh ich ja auch ein, arbeite ja selbst als Programmierer und möchte ja auch meinen Lohn haben (um mein INet bezahlen zu können . Kleine Werbebanner die nicht stören (siehe Opera 7.51) sind auch ok und bringen auch Geld, aber Werbe-Klumpen, mit Aussagen wie "Wollen Sie 10.000 € im Monat von zu hause aus verdinen?!", die dann auch noch blinken und wackeln brauch ich wirklich nicht. Das animiert mich auch nicht dazu das Produkt doch lieber zu kaufen, dann schon eher zum Wechsel.
Stimmt das Preis-Leistungs-Verhältnis würde ich auch die Werbung "wegkaufen" und somit die Programmier, Tester, Vertreiber, und die sonst noch dazu gehören, unterstützen.

Zitat:
etwas wirklich sinnvolles
daraus resultiert:
'von vielen genutzt' * angemessener Preis = ein Haufen Kohle für 'ein Haufen Unkosten'[/b]
z.B. Opera für 34,00€ bzw. 22,99€ - find ich fair
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#15

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 20:40
Zitat von Luckie:
Eben und wie willst du da auf einen Klick oder ähnliches reagieren?
Keine Ahnung ... über einen umwegigen Umweg vieleicht!?

Kann man vieleicht "einfach" nur global Mausbotschaften abfangen? Dann prüfen ob es das Fenster, auf dem der Banner liegt, den Focus hat, die Mauskoordinaten zur Position des Panels passen und dann, wenn alles passt, irgendwas tun (so viele Kommas in einem Satz, wenn eins falsch ist - Neue Retschreibung ).
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#16

Re: Control in eine fremde Anwendung bringen???

  Alt 25. Jun 2004, 21:22
Ja, das geht - entweder über Hooks oder du fragst alle 10 Millisekunden den Mausstatus über GetAsyncKeyState ab.
Möglichkeit Nr. 1 ist ziemlich kompliziert und wie gesagt eine Systembremse, Möglichkeit 2 kannst du gleich vergessen weil es den Computer ziemlich auslastet.
Lukas
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#17

Re: Control in eine fremde Anwendung bringen???

  Alt 27. Jun 2004, 15:16
Hey, hier noch ein Lösungsvorschlag ohne Hooks und ohne Timer dafür aber mit Botschaftenbehandlung.
Warum nur ein Control in das fremde Fenster umschieben und nicht gleich das ganze Formular. Wenn ich das Handle des eigenen Fensters auf das des anderen Fensters setze ist es ein "Kind" dessen (im Vordergrund) und erhält z.B. Klick-Botschaften auf die es reagieren kann.

siehe Screenshot...
Angehängte Dateien
Dateityp: zip banner.zip (83,0 KB, 58x aufgerufen)
  Mit Zitat antworten Zitat
merovingian

Registriert seit: 23. Okt 2003
9 Beiträge
 
#18

Re: Control in eine fremde Anwendung bringen???

  Alt 28. Jun 2004, 12:45
Hallo,

ansich eigentlich praktisch und gar nicht schlecht. Nur muß man vieleicht bei manchen Programmen dann Fenster immer umschieben um die verschiedenen Schaltflächen etc. zu erreichen. Dem wollte ich eigentlich vorbeugen, indem das entsprechende Control irgendwo fest platziert wird. Das Control soll deshalb seine eigene Ereignisbehandlungsroutinen bekommen.
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#19

Re: Control in eine fremde Anwendung bringen???

  Alt 29. Jun 2004, 10:46
Na Du kannst das Fenster doch in dem anderen Fenster genau so fest platzieren wie jedes andere Control. Du kannst doch Größe u. Position Deines Fensters so anpassen das es nichts verdeckt und niemanden stört. Dann änderst Du die Eigenschaft BorderStyle auf bsNone und schon sieht's aus wie n' fester Panel.
Und das Control hat seine eigene Ereignisbehandlungsroutinen!?
Hast Du Dir den Screenshot angesehen? Wenn man da auf das Image klickt passiert was. Genau so kannst Du auf Botschaften (Veränderungen) des Fensters reagieren.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#20

Re: Control in eine fremde Anwendung bringen???

  Alt 8. Dez 2004, 17:39
Kann man auch Controls von anderen Anwendungen von denen man das Handle hat "verschieben" ?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:50 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