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

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

ТРЕЙ


zoltan ©   (2003-11-02 19:38:00) 

Привет мастера!
Как можно получить с трея все иконки и handle менюх,надо написать аналогию виндовского трея!


AlexRya   (2003-11-06 22:56:00) [1]

Может кому-то будет интересно, но иконки из трея можно вытащить даже после запуска Explorer"a. Правда при этом используется извращенный метод, и тот работает только в том случае, когда шеллом стоит Explorer, причем в XP и последующих версиях удастьсяполучить только не скрытые икноки. Я писал программу пример для кого-то из этого же форума, но она на Си. Все думал написать статью, да руки никак не доходят.
А по поводу создания своего шелла - ничего сложного по части трея нет. Пример его есть в кладовке. В шелле есть местаи посложнее (поинтересней). Если возникнут вопросы, пишите. То что старую прогу найду - не обещаю, но идею метода вытаскивания иконок раскажу - там все не так уж и сложно.


DVM   (2003-11-05 13:27:00) [2]


> Когда мы писали шелл для клуба, помоему у нас получилось
> всё так, хотя может я и ошибаюсь: если винда находит окно
> с классом под именем Shell_TrayWnd - она сама туда иконки
> рисует

Сама она ничего рисовать не будет...

> но надо бы ещё сообщения самому отлавливать...

Она лишь будет слать туда сообщения. Вот по ним и надо отрисовывать иконки, выуживая из этих сообщений (WM_COPYDATA) нужную инфу (TNotifyIconData)

Если же эксплорер при этом сидит в памяти, то создать окно с таким классом не получится нормально, поэтому надо ставить хук на сообщения эксплорера, точнее его трея.


Prov   (2003-11-05 10:20:00) [3]

Когда мы писали шелл для клуба, помоему у нас получилось всё так, хотя может я и ошибаюсь: если винда находит окно с классом под именем Shell_TrayWnd - она сама туда иконки рисует, но надо бы ещё сообщения самому отлавливать... Я попробую найти исходники, ничего не гарантирую....


big_bugzy   (2003-11-03 14:25:00) [4]

Может это не совсем то что нужно, но можно поюзать EnumWindows - получишь все открытые приложения, в том числе и те что в трее, потом можно попробовать свойства полученных хендлов посмотреть и выбрать то что нужно...


DVM   (2003-11-03 14:18:00) [5]


> Как можно получить с трея все иконки

после старта эксплорера все никак, только некоторые.

> handle менюх,надо написать аналогию виндовского трея!

там нет никаких менюх, эти менюхи создает программа, поместившая туда иконку

Извини, но тебе это не под силу.


Наверх

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