Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Трей-иконки [D7, WinXP]


DagOT-R ©   (2007-07-02 04:32:00) 

Мож ктонибудь подскажет, как узнать информацию о всех иконках в трее, т. е. делаю свой "аля Експлорер.эхэ", а мне нуна вся информация о трее (все картинки с иконок, и чтобы при правклике грузуном на иконках в МОЁМ таскбаре вызывалось их родное контекстное меню)?


DVM   (2007-07-02 22:28:00) [1]


> т. е. делаю свой "аля Експлорер.эхэ"

Имхо, брось эту затею. Надеюсь сложность задачи представляешь?


> Мож ктонибудь подскажет, как узнать информацию о всех иконках
> в трее,

Ну это не очень сложно. Механизм работы тут такой. Как известно за помещение иконки в область уведомлений отвечает функция Shell_NotifyIcon. Данная функция сама практически ничего не делает, она лишь пересылает всю информацию о добавляемых/удаляемых/изменяемых иконках окну с классом Shell_TrayWnd с помощью сообщения WM_COPYDATA. Shell_TrayWnd - это класс окна панели задач. Следовательно, чтобы указанная информация приходила нашему окну, надо чтобы оно имело указанное имя класса. Обрабатывая это сообщение, мы можем получить исчерпывающую информацию обо всех иконках. Но, следует иметь ввиду, что процесс эксплорера должен быть остановлен, иначе ничего не получится.

Если информацию об иконках надо получать при запущенном эксплорере, то выход один - ставить ловушку на сообщения окна Shell_TrayWnd и отлавливать WM_COPYDATA.


Rouse_   (2007-07-02 10:48:00) [2]

http://rouse.drkb.ru/winapi.php#fwsystrayinfo


Наверх

Титульная страница Поиск, карта сайта Написать письмо