![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ТРЕЙ
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 менюх,надо написать аналогию виндовского трея!
там нет никаких менюх, эти менюхи создает программа, поместившая туда иконку
Извини, но тебе это не под силу.