Конференция "WinAPI" » Иконка в Tray без окна. (Без VCL) [D7, WinXP]
 
  • lexik (23.06.09 19:14) [0]
    Пытаюсь создать иконку в трее, не создавая каких-либо окон без VCL. Иконка появляется, когда подвожу к ней курсор - исчезает, в чем проблема?

    handle := GetModuleHandle(0);
    //...
    Begin
     With Tray do
     Begin
       cbSize := SizeOf(TNotifyIconData);
       Wnd := handle;
       uID := 1;
       uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
       uCallBackMessage := WM_NOTIFYTRAYICON;
       hIcon := LoadIcon(handle,'ICON');
       szTip := ('Название');
     End;
     Shell_NotifyIcon(NIM_ADD, Addr(tray));

  • DVM © (23.06.09 19:15) [1]

    > когда подвожу к ней курсор - исчезает, в чем проблема?

    Потому что эксплорер не находит окна.
  • lexik (23.06.09 19:16) [2]
    Т.е. без окна в трей нельзя устанавливать иконку?
  • Сергей М. © (23.06.09 19:17) [3]

    > без окна в трей нельзя устанавливать иконку?
    >


    Можно.
    И ты в этом сам убедился.
    Сам же сказал

    > Иконка появляется
  • lexik (23.06.09 19:21) [4]
    Так как решить проблему пропадания иконки? Установить хендл какого-либо другого приложения? Наример ProgMan?!
  • Сергей М. © (23.06.09 19:26) [5]

    > lexik   (23.06.09 19:21) [4]

    Ты вообще справку читал к ф-ции Shell_NotifyIcon ?
  • DVM © (23.06.09 19:39) [6]

    > lexik

    Насколько я знаю, без окна не обойтись. Но это окно же несложно и создать. Даже в консольном приложении не возбраняется его иметь, пусть и скрытое и  доп потоке. И оно не обязательно должно быть на VCL.
  • lexik (23.06.09 20:56) [7]
    да точно, пришлось создать, спс
 
Конференция "WinAPI" » Иконка в Tray без окна. (Без VCL) [D7, WinXP]
Есть новые Нет новых   [134434   +27][b:0][p:0.001]