AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi function aufrufen von der nur das Handle bekannt ist
Thema durchsuchen
Ansicht
Themen-Optionen

function aufrufen von der nur das Handle bekannt ist

Ein Thema von helen · begonnen am 5. Sep 2004 · letzter Beitrag vom 9. Sep 2004
 
helen

Registriert seit: 8. Mai 2004
42 Beiträge
 
#10

Re: function aufrufen von der nur das Handle bekannt ist

  Alt 9. Sep 2004, 19:36
Hallo,

@Sprint:
Zitat:
Woher willst du das wissen, das die Anwendung das macht? (1000 Weg führen nach Rom. Muss ja nicht immer alles über Shell_NotifyIcon gehen)
Ich habe mir 3 unterschiedliche Objecte angeschaut, mit denen ein Icon in den Systray gezaubert wird und das Prinzip war bei allen gleich. Daraus habe ich gefolgert (nicht mathematisch korrekt, ich weiß aber für den Beweis mit Vollständiger Induktion viel mir nix ein ), das dies das Prinzip für Icons im Systray sein muss.

Was ich bereits geschafft habe ist das Abfangen der function Shell_NotifyIcon. Ich habe alle Daten extrahiert und schon den Tipp und das Icon für meine Zwecke benutzenen können. Alle Veränderungen die mittels Shell_NotifyIcon gemacht werden, werden schon in meiner eigenen Leiste (keinen Bezug mehr zum Explorer systray) angezeigt.

Das Problem, welches ich derzeit habe ist, die Nachrichten MouseMove, MouseDown, Mouseup, Mousedblclick bei anclicken, mit der Maus überfahren, etc des Icons an die Anwendung weiterzugeben, damit diese dann darauf reagieren kann (Popupmenü,...).

Das, was ich von der Anwendung weiß, ist ein Handle, nämlich das hier:
Code:
fData.Wnd := AllocateHwnd(OnMessage); // handle to get notification message
Ein Handle, um die Notification Messages zu empfangen. Onmessage ist eine Procedure in der Koponente für das Systray Icon. Wie kann jedoch jetzt ein Handle einer Procedure übergeben werden? Procedures haben schließlich kein Handle. Also stellt sich nun die Frage, was ist in der Variablen fdata.wnd gespeichert?
Und wie kann ich dem Programm, welches sein Icon in den Systray eingetragen hat mitteilen, das der Nutzer auf sein Icon geclickt hat.

Gruß Helen
  Mit Zitat antworten Zitat
 


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 11: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