Показать сообщение отдельно
Старый 24.10.2010, 05:25   #2
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Работа с треем

Пока нашел только это:
Чужие идеи:

Вариант 1:
Можно сделать обёртку над shell32.dll, реализовав нужные мне функции работы с треем самому, а остальные перенаправлять в оригинальную

Вариант 2:
Может просто окно трея себе перекинуть? Делается простой сменой родителя.

Вариант 3:
1. зарегистрировать класс TrayNotifyWnd и создать такое окно.
2. разослать всем окнам сообщение TaskbarCreated, чтобы они перерегистрировались в трее
3. отслеживать сообщение WM_COPYDATA. С его помощью передаются структуры SHELLAPPBARDATA (COPYDATASTRUCT::data — 0) и SHELLTRAYDATA (COPYDATASTRUCT::data — 1).

typedef struct _SHELLTRAYDATA
{
    DWORD dwHz;
    DWORD dwMessage;
    NOTIFYICONDATA nid;
} SHELLTRAYDATA;
__________________
Upd:
также имеются сорцы LiteStep, только они написаны на си
__________________
Уважай собеседника, а лучше подари ему +

Последний раз редактировалось Trazzy, 24.10.2010 в 08:29. Причина: (см. upd)
(Offline)
 
Ответить с цитированием