-
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)); -
> когда подвожу к ней курсор - исчезает, в чем проблема?
Потому что эксплорер не находит окна. -
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 ? -
> lexik
Насколько я знаю, без окна не обойтись. Но это окно же несложно и создать. Даже в консольном приложении не возбраняется его иметь, пусть и скрытое и доп потоке. И оно не обязательно должно быть на VCL. -
lexik (23.06.09 20:56) [7]да точно, пришлось создать, спс