Entwickler-Ecke

Windows API - Icon in derTaskBar


woully - Di 30.06.09 16:13
Titel: Icon in derTaskBar
Hi,

ich hätte da mal ein problem..
Ich habe eine Software die einen dienst installiert und startet.
In der Taskbar will ich ein Tryicon anzeigen das mir ermöglicht diesen Dienst zu stoppen, erneut zu starten, etc.

Das Icon wird auch angezeigt. Sobald ich mit der Maus darauf zeige, verschwindet das Icon.
Ich habe schon heraus gefunden das es am WND von der TnotifyIcondata Struktur liegt.

Da ich keine Form habe, übergebe ich als Handle eine 0, und da liegt das Problem
Mit einem Handle <>0 funktionniert es.

Weiß jemand wie ich dieses entwicklen kann.
(Eine form unsichtbar machen um ein Handle zu bekommen finde ich nit so toll... )

Danke


Boldar - Di 30.06.09 16:17

Kann man das Handle vom Desktop übergeben? Probier das doch mal aus.
mfg Boldar


woully - Di 30.06.09 17:11

Hi,

danke für die schnelle Antwort.
Ich habe auch die Lösung inzwischen auf einem anderem Forum gefunden.
Laut Herr Kosch, kann ein Dienst kein Trayicon verwalten.

in diesem Fall ist es üblich, dass für die Darstellung in der TBNA eine zweite Anwendung verwendet wird, die mit dem (unsichtbaren) Dienst kommuniziert. Für das einfache Starten/Anhalten/Fortsetzen/Beenden ist kein direkter Zugriff auf den Dienst notwendig, sondern das TBNA-Programm ruft nur die Funktionen des SCM (Service Control Managers) von Win32 auf.


Delete - Di 30.06.09 17:14

Ein icon in der TNA benötigt eine Nachrichtenschleife, um die Nachrichten verarbeiten zu können. Dies geht am einfachsten mit einem normalen Fenster. Dies kann aber auch unsichtbar sein.