Zitat von
helen:
Ich habe nun versucht, das Icon aus
PNotifyIconData mit
Code:
tmp := TIcon.Create;
tmp.Assign (lpData.hIcon);
ImageIndex := ImageList1.AddIcon (tmp);
in eine ImageList einzufügen, aber das läuft nicht...
Das müsste aber so heissen:
Delphi-Quellcode:
tmp := TIcon.Create;
try
tmp.Handle := lpData^.hIcon; // <===
ImageIndex := ImageList1.AddIcon(tmp);
if ImageIndex=-1 then // auf jeden Fall prüfen, damit man weiss was Sache ist
ShowMessage('AddIcon failed !'); // anzeigen oder sonstwie protokollieren
finally
tmp.Free;
end;
Zitat von
helen:
wie kann ich denn den Zeiger auf die Callback-Funktion an die
DLL übermitteln?
Nach einigem Nachdenken bin ich zu dem Schluss gekommen, dass eine Callback-Funktion
wohl nicht richtig funktionieren kann:
Deine
DLL wird an die
DLL Shell32.dll "angeklemmt" und arbeitet somit in verschiedenen
Processräumen (getrennter Speicher).
Also muss deine
DLL die Anwendung finden. (Also doch mit FindWindow gefolgt von SendMessage arbeiten)