пропадает иконка

Тема в разделе "WASM.WIN32", создана пользователем XshStasX, 4 окт 2011.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Код (Text):
    1.         mov  NotifyIcon.cbSize,ecx
    2.         m2m  NotifyIcon.hwnd,hWnd
    3.         mov  NotifyIcon.uID, 0
    4.         mov  NotifyIcon.uFlags, NIF_ICON or NIF_TIP
    5.         m2m  NotifyIcon.hIcon, hIcon
    6.         invoke lstrcpyn, addr NotifyIcon.szTip,addr szDisplayName , sizeof NotifyIcon.szTip
    7.         invoke Shell_NotifyIcon,NIM_ADD,addr NotifyIcon
    Иконка создается и отображается, при попытке навести на нее мышкой она пропадает.
    В чем проблема ?
    Сообщения от нее не обрабатываю так как мне они не нужны.
    Саму иконку не выгружаю.
    В отладчике Shell_NotifyIcon возвращает TRUE.
    при этом если не продолжать дальше программу, а навести курсор на иконку та исчезнет.
     
  2. krid24

    krid24 Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    88
    Иконка принадлежит окну (NotifyIcon.hwnd). Если ты закрываешь окно (программу), уничтожается и иконка. Остаётся только её изображение в трее, которое при первой же перерисовке исчезнет.
    Чтобы иконка удалилась сама, пошли мессагу NIM_DELETE перед закрытием проги.
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Окно я не уничтожаю.
    У меня всего одно окно, на котором держаться все контролы.
     
  4. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Ошибка найдена и заключалась в
    Код (Text):
    1.  m2m  NotifyIcon.hwnd,hWnd
    .
    hWnd была еще не инициализированная.