как задать икону которая находится rc файле трей окну в приложении на c++

я не могу понять как задать иконку для трей окна в приложении на c++. Библиотеки по типу сдл, сфил или Qt не использую. Использую только стандартную либу для винды.

#define IDI_ICON1 101

const char CLASS_NAME[] = "TrayAppClass";
WNDCLASS wc = {};
wc.lpfnWndProc = WindowProc;
wc.hInstance = hInstance;
wc.lpszClassName = CLASS_NAME;

RegisterClass(&wc);

HWND hwnd = CreateWindowEx(
    0,
    CLASS_NAME,
    "Tray Application", 0,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    HWND_MESSAGE,
    NULL,
    hInstance,
    NULL
);

static NOTIFYICONDATA nid;
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hwnd;
nid.uID = 1;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
nid.uCallbackMessage = WM_TRAYICON;
nid.hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1));
lstrcpy(nid.szTip, TEXT("TerminalsThisWay"));
Shell_NotifyIcon(NIM_ADD, &nid);
ShowWindow(hwnd, SW_HIDE);

Вместо иконки отображается пустой фон.


Ответы (0 шт):