Im Tray taucht anstatt meines Icons ein leeres auf...
-
Hallo,
ich hab hier ein kleines Problem. Ich will für meine Anwendung ein Tray-Icon
im Traybar erstellen. Dazu hab ich mir diese Funktion geschrieben.void initSystray(HWND hwnd) { NOTIFYICONDATA nid; ZeroMemory(&nid,sizeof(NOTIFYICONDATA)); nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hwnd; nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; nid.hIcon = LoadIcon(rootInstance, MAKEINTRESOURCE(IDI_SYSTRAY)); nid.uCallbackMessage = WM_USER+12345; lstrcpyn(nid.szTip,"Test",sizeof(nid.szTip)); ShowWindow(hwnd,SW_HIDE); Shell_NotifyIcon(NIM_ADD,&nid); }Wenn ich diese Funktion nun aufrufe, dann erscheint statt des richtigen Icons
im Tray nur ein leerer Platzhalter. Hat jemand eine Idee was ich falsch mache.Danke.
G.Ben
PS: An dem Icon selbst wird es wohl nicht liegen, ich habe es auch schon mit anderen versucht.
-
Probier mal ob es am uID liegt. Wobei ich mir da auch nicht so wirklich sicher bin.
also so:void initSystray(HWND hwnd) { NOTIFYICONDATA nid; ZeroMemory(&nid,sizeof(NOTIFYICONDATA)); nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = hwnd; nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; nid.hIcon = LoadIcon(rootInstance, MAKEINTRESOURCE(IDI_SYSTRAY)); nid.uID = IDI_SYSTRAY; nid.uCallbackMessage = WM_USER+12345; lstrcpyn(nid.szTip,"Test",sizeof(nid.szTip)); ShowWindow(hwnd,SW_HIDE); Shell_NotifyIcon(NIM_ADD,&nid); }
-
hallo evilissimo,
leider lags nicht daran. Aber trotzdem danke. Vielleicht fällt ja jemanden noch
was auf.
-
Schau mal hier vielleicht hilft dir das:
-
Also so:
void initSystray(HWND hwnd) { NOTIFYICONDATA nid; ZeroMemory (&nid, sizeof (NOTIFYICONDATA)); nid.cbSize = sizeof (NOTIFYICONDATA); nid.hWnd = hwnd; nid.uID = IDI_SYSTRAY; nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE; nid.uCallbackMessage = WM_ICONCLICK; nid.hIcon = LoadIcon(rootInstance, MAKEINTRESOURCE(IDI_SYSTRAY));; strcpy (nid.szTip, "Test"); Shell_NotifyIcon (NIM_ADD, &nid); }Ach, vergess nicht, die Funktion auch in der WinMain aufzurufen

Aber ist ja nicht wirklich viel anders

-
(D)Evil schrieb:
Ach, vergess nicht, die Funktion auch in der WinMain aufzurufen

*rofl*