Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tray


Страницы:   1 2

datorn ©   (2008-01-06 11:44:00) 

Народ, подскажите, как обновить (перерисовать) трэй. Удаляю все процессы, а иконки остаются в трэе, пока не проведешь там мышкой.


datorn   (2008-01-06 14:35:00) [1]

Да, это если нажать на кнопку "Выход", а если просто нажать на крестик закрытия окна или послать сообщение о закрытии, то иконка остается. А мне нужно одним нажатием закрыть все. И почистить трэй


datorn   (2008-01-06 14:35:00) [2]

Да, это если нажать на кнопку "Выход", а если просто нажать на крестик закрытия окна или послать сообщение о закрытии, то иконка остается. А мне нужно одним нажатием закрыть все. И почисть трэй


@!!ex   (2008-01-06 14:11:00) [3]

> [32] datorn ©   (06.01.08 14:06)


> Какое то у вас некорректное корректное завершение...


У меня MSN при закрытии после себя подчищает...


datorn   (2008-01-06 14:06:00) [4]

Вот например yahoomsgr -после закрытия окна иконка остается. И у MSNа также, и у ooVoo. Список могу продолжить. Эти проги ещё и в автозагрузку прописываются


@!!ex   (2008-01-06 14:03:00) [5]

> [29] datorn ©   (06.01.08 13:51)

Вабчэта у оконного приложения(а если есть иконка в трее, то оно таки оконное) достаточно послать сообщение о закрытии и этого достаточно...


> Да и потом, даже если корректно закрыть прогу, икона все
> равно остается в трэе.

Какое то у вас некорректное корректное завершение...


sniknik   (2008-01-06 13:55:00) [6]

> даже если корректно закрыть прогу, икона все равно остается в трэе.
автору рекламацию + неустойку! не будет больше полуфабрикатами торговать!


datorn   (2008-01-06 13:51:00) [7]


> А послать им сообщение о закрытии корректном не судьба?


А что значит послать сообщение о закрытии процессам? Именно процессам, а не окнам.
Да и потом, даже если корректно закрыть прогу, икона все равно остается в трэе.


sniknik   (2008-01-06 13:46:00) [8]

> Сути я к сожалению не помню
жаль, потому как было бы интересно, как он находит индекс для корректного удаления иконки (так понимаю через Shell_NotifyIcon раз в тулбар как Rouse не лезет).
(провести мышкой например способ проще не бывает, но на спрятанные иконки не действует. хотя, если при раскрытии винда их перепроверяет и снимает то и этот способ корректный)


DVM   (2008-01-06 13:28:00) [9]


> sniknik ©   (06.01.08 13:20) [24]

Я к сожалению не помню точно, по-моему на rsdn была какая то статья про как можно более аккуратное принудительное убиение чужого процесса, там и затрагивалась тема иконок. Мне тогда показался очень оригинальным способ предложенный автором. Сути я к сожалению не помню, но точно способ отличный от предложенного Rouse, да и более простой.


@!!ex   (2008-01-06 13:27:00) [10]

> [25] datorn ©   (06.01.08 13:25)

А послать им сообщение о закрытии корректном не судьба?


datorn   (2008-01-06 13:25:00) [11]


> вопрос только один возникает, а нафига ты "рубишь" чужие
> процессы, вместо нормального их закрытия?


После клиентов бывает остается запущены пять-десять программ, пока все закроешь - запаришься. А так нажал на кнопочку, и все процессы рубанулись.


sniknik   (2008-01-06 13:20:00) [12]

> Помню лишь что там окна перебирались и что то с чем то сравнивалось.
вряд ли подобное возможно, вот например сделал я окно(приложение), при старте создал иконку uID иконке поставил "от балды" например 5555. вопрос - как другое приложение перебирая окна найдет этот uID, на котором основана вся работа с иконками? это нужно скан процессу делать (на предмет вызова функции) а не окна перебирать.
в ссылке там, имхо т.к. не разбирал, он получается у самого тулбара в эксплорере (должно был так. по логике). т.е. от обратного.


DVM   (2008-01-06 13:12:00) [13]


> sniknik ©   (06.01.08 13:06) [21]


> но вообще вроде действительно, как говорили, есть метод
> доступиться непосредственно к нему

Да там кнопки на тулбаре, к каждой кнопке привязана структура, подобная той, что передается при добавлении иконки, но это изврат вс же.

Я где то встречал (не помню где) довольно изящный способ удаления чужой иконки. Причем не касаясь самого тулбара с иконками. Помню лишь что там окна перебирались и что то с чем то сравнивалось. До умерщвления чужого процесса ессно.


sniknik   (2008-01-06 13:09:00) [14]

во, у меня оказывается ссылка сохранена
http://rouse.drkb.ru/winapi.php#fwsystrayinfo
вторая демка.


sniknik   (2008-01-06 13:06:00) [15]

> Значит, остается только перезапустить explorer. Других путей решения проблемы не вижу
гораздо легче решение, провести над треем мышкой... программно, быстро, никто и не заметит.

но вообще вроде действительно, как говорили, есть метод доступиться непосредственно к нему... насколько помню. но только для XP/2000 в 98м это просто картинки на панели (не обьекты с которыми можно работать)

т.е. сделать более менее нормально можно, но...
вопрос только один возникает, а нафига ты "рубишь" чужие процессы, вместо нормального их закрытия? это уже само по себе ненормально, и после этого желание нормальности в иконках довольно странно.

> Довольно известные софтины.. не перезагрузились...
потому что они их не обновляют постоянно по таймеру... (сами проги), а это их дело. не закладываются на перезапуск експлорера. (они убили Кенни. сволочи! © Южный парк)


@!!ex   (2008-01-06 12:53:00) [16]

> Разработчики постоянно забывают об этом.

Я тоже отношусь к этим разработчикам. :)
Хотя т сложно забыть то, чего не знаешь. :))


DVM   (2008-01-06 12:52:00) [17]


> не перезагрузились...

Разработчики постоянно забывают об этом. MS вроде как хотела сделать сохранение списка иконок, но что-то никак пока. Хотя в висте может сделала, я не присматривался.


@!!ex   (2008-01-06 12:47:00) [18]

Picasa2
Net Peeker
Довольно известные софтины.. не перезагрузились...


DVM   (2008-01-06 12:43:00) [19]


> а у вас?

а у меня их мало 10 всего и из них половина ShellServiceObjects(виндовые) - остальные 5 восстанавливаются.


@!!ex   (2008-01-06 12:40:00) [20]

> [15] DVM ©   (06.01.08 12:38)

Перезагрузка explorera показала, что из 20 иконок вживых осталось меньше половины... и те почти все виндовые... а у вас?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо