Проклятая иконка в трее.
От: Igor Sukhov  
Дата: 18.11.08 23:48
Оценка:
У меня есть legacy приложение, к-е написано таким образом, что после себя оставляет иконку в трее. Рабочий процесс построен таким образом что пользователи запускают это приложение несколько раз на дню и к обеду в трее пасется 5-к беспризорных иконок.

Изменить исходное приложение не преставляется возможным.

Появилась идея написать watchdog application к-е будет работать на фоне и убирать эти иконки по мере их появления.
(простоя проверка — если иконка в трее есть, а приложение не работает — чистить).

Есть какие нить идеи как это реализовать на .NET? на не .NET ?

20.11.08 00:54: Перенесено модератором из '.NET' — AndrewVK
* thriving in a production environment *
Re: Проклятая иконка в трее.
От: Воронков Василий Россия  
Дата: 18.11.08 23:55
Оценка: 6 (1)
Здравствуйте, Igor Sukhov, Вы писали:

IS>У меня есть legacy приложение, к-е написано таким образом, что после себя оставляет иконку в трее. Рабочий процесс построен таким образом что пользователи запускают это приложение несколько раз на дню и к обеду в трее пасется 5-к беспризорных иконок.

IS>Изменить исходное приложение не преставляется возможным.
IS>Появилась идея написать watchdog application к-е будет работать на фоне и убирать эти иконки по мере их появления.
IS>(простоя проверка — если иконка в трее есть, а приложение не работает — чистить).
IS>Есть какие нить идеи как это реализовать на .NET? на не .NET ?

Гм, иконка я так понимаю как бы "висит" в трее, но если на нее навести мышкой — то исчезает?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[2]: Проклятая иконка в трее.
От: Воронков Василий Россия  
Дата: 19.11.08 00:02
Оценка: 55 (3)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Гм, иконка я так понимаю как бы "висит" в трее, но если на нее навести мышкой — то исчезает?


Вопрос, наверное, риторический
На самом деле это довольно "ректальный" случай. Но варианты борьбы есть:
http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Systray~Icon~Questions+Refresh~System~Tray~Area.txt
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[3]: Проклятая иконка в трее.
От: Igor Sukhov  
Дата: 19.11.08 03:56
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>>Гм, иконка я так понимаю как бы "висит" в трее, но если на нее навести мышкой — то исчезает?

ВВ>Вопрос, наверное, риторический
ага =)

ВВ>На самом деле это довольно "ректальный" случай. Но варианты борьбы есть:

из того что я помню про ShellAPI/Win32API — там ф-и очистки таких residiual иконок не предусмотрено.

ВВ>http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Systray~Icon~Questions+Refresh~System~Tray~Area.txt


я опасался такого ответа, но ... но зато есть готовый код — спасибо. хорошо то что не часто придется мышой возить.
* thriving in a production environment *
Re[4]: Проклятая иконка в трее.
От: Pavel M. Россия  
Дата: 19.11.08 06:56
Оценка:
Здравствуйте, Igor Sukhov, Вы писали:

IS>я опасался такого ответа, но ... но зато есть готовый код — спасибо. хорошо то что не часто придется мышой возить.


Ну, небольшой конфуз пользователей оттого, что мышка "убегает" — это ничего? И что за код такой, где мышкой управляют с помощью "MousePlay"? )) Я бы посоветовал найти окошко трея и поиграться с ним, посылая разные события, например WM_PAINT или еще какие.
--------------------------
less think — do more
Re[5]: Проклятая иконка в трее.
От: litsmel  
Дата: 19.11.08 07:29
Оценка:
Здравствуйте, Pavel M., Вы писали:

PM>Здравствуйте, Igor Sukhov, Вы писали:


IS>>я опасался такого ответа, но ... но зато есть готовый код — спасибо. хорошо то что не часто придется мышой возить.


PM>Ну, небольшой конфуз пользователей оттого, что мышка "убегает" — это ничего? И что за код такой, где мышкой управляют с помощью "MousePlay"? )) Я бы посоветовал найти окошко трея и поиграться с ним, посылая разные события, например WM_PAINT или еще какие.


У себя в проекте "прибираемся", вызывая Shell_NotifyIcon c NIM_DELETE — windows (2к, ХР) не проверяет, какой процесс у нее это попросил. Так что остается только узнать ИД иконки.
Re[5]: Проклятая иконка в трее.
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.11.08 09:27
Оценка: +1
Здравствуйте, Pavel M., Вы писали:
PM>Ну, небольшой конфуз пользователей оттого, что мышка "убегает" — это ничего? И что за код такой, где мышкой управляют с помощью "MousePlay"? )) Я бы посоветовал найти окошко трея и поиграться с ним, посылая разные события, например WM_PAINT или еще какие.
по идее, достаточно WM_MOUSEMOVE.
Пропадание иконок при пощевеливании мышью связано с тем, что експлорер пытаестся транслировать сообщения WM_MOUSEMOVE в заказавшее приложение. Как только он получает отлуп от SendMessage, связанный с разрушением окна, на которое зарагистирован callBack, он считает иконку мертвой и удаляет её.
(А вовсе не трактует получение hover в tray area как команду "приберись", как это понял автор кода по ссылке).
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Проклятая иконка в трее.
От: Ovl Россия  
Дата: 19.11.08 09:42
Оценка: 24 (2)
ВВ>На самом деле это довольно "ректальный" случай. Но варианты борьбы есть:
ВВ>http://techsupt.winbatch.com/webcgi/webbatch.exe?techsupt/tsleft.web+WinBatch/Systray~Icon~Questions+Refresh~System~Tray~Area.txt

я предпочел бы вот этот, без реального передвижения. более "грязный", но более "комфортабельный"
http://malwareanalysis.com/CommunityServer/blogs/geffner/archive/2008/02/15/985.aspx
Read or Die!
Как правильно задавать вопросы
Как правильно оформить свой вопрос
Автор: anvaka
Дата: 15.05.06
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.