![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подмена Shell_TrayWnd???
Esc © (2003-08-26 12:52:00)
Здравствуйте. Вопрос есть. Можно ли как нибудь сэмулировать окошко Shell_TrayWnd??? Т.е. я хочу отображать иконки из трэя в своём окне (при этом explorer.exe не загружен). Такое умеют делать различные замены explorer"а (например Aston). Заранее огромное спасибо.
Esc (2003-08-27 20:21:00) [1]
Всем огромный сенкс! А главное DVM"у и jonni :)
DVM (2003-08-27 13:00:00) [2]
> Esc © (27.08.03 09:26) [6]
Не слушай Yanis. Сообщения посылаются в окно с классом Shell_TrayWnd, а оно там уже само решает кому его передать дальше.
DVM (2003-08-27 12:58:00) [3]
> Yanis ©
Иконки "трея" находятся в TrayNotifyWnd
Esc (2003-08-27 09:26:00) [4]
Так а куда же всётаки месаги идут в Shell_TrayWnd или в ToolbarWindow32?
Yanis (2003-08-26 23:16:00) [5]
Shell_TrayWnd это TaskBar полностью. А иконки из трея находятся в этом окне:ToolbarWindow32.
jonni (2003-08-26 22:09:00) [6]
sorry ne pravil"no prochital ssobschenie.. DVM...
zdes" :
http://www.delphikingdom.com/treasury/systray.htm
opisanie raboti i primer tray na Delphi
jonni (2003-08-26 22:07:00) [7]
to DVM:
Hook к сожалению не пойдёт :)...
если нету explorera и нету окна с классом "Shell_TrayWnd" то такое сообщение я так понимаю никуда слаться не будет и ловить будет нечего.. :)
to Esc:
можно и поподробнее.......
если без explorera...
1. нужно создать окно с классом "Shell_TrayWnd"
2. и просто ловить сообщение WM_COPYDATA прям в соей программе.
3. разбирать информацию приходящую с WM_COPYDATA и если она относиться к Tray то орабативать.
вот в кратце и всё...
Esc (2003-08-26 21:12:00) [8]
А можно немного по-подробнее?
DVM (2003-08-26 13:23:00) [9]
Можно. Хук на WM_COPYDATA если эксплорер загружен. Если не загружен то WM_COPYDATA и так будут сыпаться на окно программы, если класс окна будет "Shell_TrayWnd". Но не все программы могут повторно ответить иконкой по нашему запросу (это если эксплорер загружен).