Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: An die Daten von PNotifyIconData herankommen

  Alt 17. Mai 2004, 13:48
Zitat von helen:
Ich brauche die andere Richtung... Ich habe eine DLL, mit der die function Shell_NotifyIcon gehookt wird. Jetzt muss ich aber irgendwie die an diese function übergebenen Daten an mein Programm weiterleiten, welches dann das Icon anzeigen soll.

Wie funktioniert der Transport DLL --> Anwendung am besten?
OK, jetzt wirds klarer.
Die DLL muss auf irgendeineweise das Ziel (=deine Anwendung) mitgeteilt bekommen.

Mir fallen im Moment 2 Alternativen ein:
- die DLL bekommt von der Anwendung das Handle des Hauptformulars mitgeteilt und muss diese
in einer globalen Variablen speichern.
die DLL benutzt SendMessage(apphandle, WM_COPYDATA, ...) um die Daten an Hauptformular
zu schicken.

- die DLL bekommt von der Anwendung einen Zeiger auf eine Callback-Funktion mitgeteilt
und muss diesen in einer globalen Variablen speichern.
Sobald der Hook Shell_NotifyIcon auftritt, ruft die DLL die Callback-Funktion auf.
Die Anwendung kopiert die Daten und macht diese sichtbar.
Diese Alternative gefällt mir am Besten, da sie klarer und einfacher ist.
Wenn deine DLL nur von Delphi-Anwendungen geladen werden soll, käme auch eine Callback-Methode
in Frage. (siehe auch Nutzung einer Callback-Funktion innerhalb eines Objekts)
Andreas
  Mit Zitat antworten Zitat