Здравствуйте, Willi, Вы писали:
W>А как свернуть приложение в Systray?
есть много способов хороших и разных
1. можно через WinApi — тогда читайте MSDN
2. Builder 6 -> закладка Samples -> TTrayIcon
3. http://torry.net поиск "Tray"
4. http://torry.net/vcl/packs/huge/rxlib.zip вришная русская либа TrxTrayIcon
Здравствуйте, TATAPuH, Вы писали:
TAT>Здравствуйте, Willi, Вы писали:
W>>А как свернуть приложение в Systray?
TAT>есть много способов хороших и разных TAT>1. можно через WinApi — тогда читайте MSDN TAT>2. Builder 6 -> закладка Samples -> TTrayIcon TAT>3. http://torry.net поиск "Tray" TAT>4. http://torry.net/vcl/packs/huge/rxlib.zip вришная русская либа TrxTrayIcon
TAT>и не говорите что я плохому учу
Заранее прошу прощения у тех кто не любит (не понимает) шуток.
Большое спасибо! Теперь буду знать
Но там написано как добавить иконку в SysTray и получать от нее нотификации.
А вот как свернуть (в оригинале было еще более загадочное слово) туда приложение. Тем более произвольное, там не написано
А теперь ответ на некорректно и прикольно поставленный вопрос.
Насколько мне известно. Существует единственная функция для работы с SysTray или как он правильно называется taskbar system area: Shell_NotifyIcon
Она не предоставляет возможности получать список иконок находящихся в ней.
А вот такого понятия как "приложение свернутое в SysTray"
Вообще не существует.
Здравствуйте, Willi, Вы писали:
W>Заранее прошу прощения у тех кто не любит (не понимает) шуток.
ладно будем считать что я шутки не понял
W>Большое спасибо! Теперь буду знать
не буду даже и пытаться понять шутка это или ёрничание или действительно благодарность W>Но там написано как добавить иконку в SysTray и получать от нее нотификации.
в общемто больше ничего особенного знать и не нужно не правда ли ?
W>А вот как свернуть (в оригинале было еще более загадочное слово) туда приложение. Тем более произвольное, там не написано
найдти и запомнить ХВНД не понравившевося окна и спрятать его от греха подальше ? нарисовать иконку (или например добавить в контекстное меню уже существующей иконки пункт "развернуть окошко в зад"
W>А вот такого понятия как "приложение свернутое в SysTray" W>Вообще не существует.
хм наверно и не существует — не стану придираться к словам но
Application->OnMinimize //(летит в том числе и когда ты сворачиваешь основную форму)
{
//скрестим пальци и предположим что мы уже позаботились о том чтобы все диалоги были закрыты
Application->MainForm->Hide();
rxTray_icon->Active=true;
}
rxTray_icon->OnDblClick
{
Application->MainForm->Show();
Application->Restore();
Application->BringToFront();
SetForegroundWindow(Application->MainForm->Handle);
rxTray_icon->Active=false;
}
получаеться что сворачивая основное окно апликейшина
вся прячеться и появляеться иконка в Трэе
пр клике на иконку всё востонавливаеться а иконка соответственно пропадает
так что если такое понятие и не существует — то по крайней мере сам процесс выглядит именно так
Ладно, шутки в сторону.
Вопрос был: "Как получить список приложений свернутых в SysTray?"
Возьмем простой пример: Icq 2003
Она показывает цветочек, а когда поступает сообщение, рядом с цветочуом появляется желтый стикер.
Предположим ты извернулся (навесил хуки, отсабкласил чего-то там) и получил все иконки. И что дальше?
Как ты поймешь, что цветочек это приложение, а стикер это всего лишь дополнительная иконка от него?
Кто сказал, что если приложение добавляет иконку в SysTray, то оно обязательно должно при этом прятаться?
Здравствуйте, Willi, Вы писали:
W>А вот такого понятия как "приложение свернутое в SysTray" W>Вообще не существует.
В точку. То есть нет никакого апи, которое дало бы доступ к иконам, засунутым в трей. И это правильно, и это хорошо. Ибо не позволяет приложениям мешать друг другу.
Но есть, я думаю, способ хакнуть систему — перехватить вызов Shell_NotifyIcon и запоминать всех, кто туда суется. Это к гурам форума WINAPI.
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Willi, Вы писали:
W>Здравствуйте, TATAPuH, Вы писали:
W>Ладно, шутки в сторону. W>Вопрос был: "Как получить список приложений свернутых в SysTray?"
ты ведь уже ответил на этот вопрос ?
обсолютно никак
или это опять недоступный мне юмор ? так может всётаки шутки в сторону ?