Ein Icon in der Taskbar (Infobereich) anzeigen und bei Klick ein Popup-Menü anzeigen

In Windows gibt es rechts unten in der Taskbar den sogenannten System Tray oder Infobereich. Dort kann man ein Icon erstellen und dem Benutzer über Klick ein Menü anbieten, wie man es von diversen Programmen kennt die hauptsächlich im Hintergrund laufen (z.B. Virenscanner, usw.).

In Delphi ist dies auch relativ einfach möglich. Hier die dazu nötigen Schritte:

  • Erstelle eine neue VCL Formularanwendung und füge ein Popup-Menü hinzu
  • Füge ShellApi zu den uses-Bibliotheken hinzu und erstelle eine Konstante WM_TASKBAREVENT

  • Erstelle die Events FormCreate und FormDestroy und füge folgenden Code ein:

  • Deklariere eine private Prozedur TaskbarEvent und erstelle sie mit folgenden Code:

Wenn ihr das Projekt ausführt, sollte im Infobereich ein kleines Delphi-Icon erscheinen. Mit klick darauf erscheint das Popup-Menü. Jetzt könnt ihr die Form mit Form1.Hide verschwinden lassen, und über Doppel-Klick auf das Tray-Icon wird sie wieder angezeigt.

Ihr könnt das Icon ändern indem ihr unter Projekt -> Optionen -> Anwendung ein anders Symbol einstellt.

Hier nochmal der vollständige Code: