Tray Icon ohne Fenster
-
Hallo Leute!
Wisst Ihr, wie ich ein Tray-Icon in der Taskleiste erstellen kann, ohne
vorher ein Fenster mit einer Nachrichtenschleife zu erstellen?Mein Code sieht bis jetzt so aus:
//Ich übergebe einfach NULL als HWND void Taskleistenicon (HWND hwnd, BOOL bAnzeigen) { NOTIFYICONDATA tsym; ZeroMemory (&tsym, sizeof (NOTIFYICONDATA)); if (bAnzeigen) { tsym.cbSize = sizeof (NOTIFYICONDATA); tsym.hWnd = hwnd; tsym.uID = IDI_ICON; tsym.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; tsym.hIcon = hIcon; strcpy (tsym.szTip, "www.winapi.net"); Shell_NotifyIcon (NIM_ADD, &tsym); } else { tsym.cbSize = sizeof (NOTIFYICONDATA); tsym.hWnd = hwnd; tsym.uID = IDI_ICON; tsym.uFlags = 0; Shell_NotifyIcon (NIM_DELETE, &tsym); } return; }Das Icon wird bis zum Mouseover in der Taskleiste korrekt angezeigt - danach
verschwindet es spurlos
Thx
-
Du könntest ein verstecktes Fenster erstellen

-
Wie mache ich das denn am besten?
Einfach die Funktionen ShowWindow(...) und UpdateWindow(...) weglassen?Vielen Dank!
-
Du musst den WS_VISIBLE Style weglassen (evtl. musst du ihn explizit rausnehmen "& ~WS_VISIBLE") oder das Fenster eben mit ShowWindow und SW_HIDE verstecken
