| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Иконки в трее |
| Автор: v258 28.4.2007, 21:11 |
| Моя программа запускает и завершает другие программы. Но после принудительного завершения проги ее иконка остается висеть в трее, пока на нее не наведешь курсор мыши. Это может ввести в заблуждение пользователя. Можно ли после убийства процесса программно удалить его иконку из трея? При этом заранее не известно, какие программы будут запускаться и будут ли они вообще помещать иконки в трей. Т.е. можно ли как-то вызвать обновление трея для удаления возможно оставшихся там иконок? |
| Автор: Romikgy 28.4.2007, 21:50 |
| сэмулируй провод мышкой в области трея..... |
| Автор: v258 28.4.2007, 22:20 |
| Самопроизвольно движущийся курсор мыши - то еще зрелище, не для слабонервных К тому же в ХР трей, обычно, свернут под стрелочку. Может есть другие варианты? |
| Автор: Alexeis 28.4.2007, 22:26 |
| Можно попробовать послать трею сообщение WM_PAINT. |
| Автор: v258 29.4.2007, 16:17 |
Не получается - не хочет перерисовываться :-( |
| Автор: Sunvas 1.5.2007, 00:53 |
| Кажется в comodo firewall реализован механизм перехвата завершения своего процесса. Что, если пойдя этим путем во время завершения просто корректно убрать иконку долой? |
| Автор: v258 1.5.2007, 13:33 |
| Sunvas, а поподробнее можно? |
| Автор: Sunvas 1.5.2007, 14:50 |
| v258, Я сам ищу решение проблемы. Не знаю, как отловить убивание своего процесса. Я идею подсказал, дальше думай сам, если что-то наработаешь - пиши. Дальше думаю помогу. |
| Автор: dumb 1.5.2007, 15:03 |
| Sunvas, ты предлагаешь идею по убиранию своей иконки, а v258 хочет убирать иконки убиваемых им же программ. |
| Автор: Romikgy 1.5.2007, 17:54 |
| Возможно один из вариантов решения траблы, перехват Shell_NotifyIcon и протоколировать что кто делает |
| Автор: sw04 1.5.2007, 20:45 | ||
| Может эмулить нажатие клавиши на эту иконку при завершении программы? Даже если трей свернут, иконка будет убиваться. Что требуется от программиста это посадить функцию
Msg.LParam = WM_LBUTTONUP или WM_LBUTTONDBLCLK . Как думаете? |
| Автор: Yanis 1.5.2007, 21:48 |
| Используя поиск видим, что у нас есть: http://forum.vingrad.ru/index.php?show_type=forum&showtopic=65269, http://forum.vingrad.ru/index.php?showtopic=133977, http://forum.vingrad.ru/index.php?show_type=forum&showtopic=65269. |
| Автор: v258 3.5.2007, 18:30 |
| Yanis, первая и третья ссылки ведут в одно и то же место. Примеры там рабочие, но ни один не срабатывает, если иконка скрыта под стрелочкой (в ХР). А как можно достать такие иконки? |