Пропадают иконки в трее Windows 7 и Windows 7 SP1
Версия для печати

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Программы: OС и системное ПО (http://forum.ixbt.com/?id=22)
URL: http://forum.ixbt.com/topic.cgi?id=22:86064



pdima, 01.04.2013 12:20
Здравствуйте!

Я являюсь пользователем лицензионных копий ОС Windows 7 Профессиональная и Домашняя расширенная (Когда использовал Windows XP SP3 тоже была такая же проблема).

На протяжении года сталкиваюсь со странным поведением значков программ, отображаемых в трее (около часов).

Все автоматически стартующие программы, размещающие значки в трее, начинают свою работу при старте ОС (они отображаются в списке процессов в Диспетчере задач, в журналах Windows ошибок не фиксируется), но значки в трее не появляются.

Было замечено следующее: если войти в окно настройки отображения/скрытия значков в трее, отображающиеся значки не соответствуют названиям программ (см. скриншот). Например, значок APC PowerChute в окне соответствует значку Безопасное извлечение устройства и т.д. При этом если какой-либо значок появляется в трее – отображается он правильно, т.е. эта путаница только в окне настройки.

Если вручную запустить одну из программ, стартующих при запуске ОС (напомню – после загрузки ОС процесс остаётся в памяти, программа нормально автостартует), вместе с запуском программы значок появляется в трее и не пропадает до следующей загрузки ОС.

Далее. По опыту видно следующее – программы, запускающиеся из папки «Автозагрузка» (куда помещён ярлык), абсолютно нормально отображают свой значок в трее (по крайней мере одна моя программа, стартующая таким образом, корректно отображает свой значок).

Из всего складывается впечатление, что виновато то, что ОС, загружаясь, запускает свои многочисленные службы и значки просто не успевают прогрузиться. Но тот факт, что значки в окне настройки «перемешиваются» как описано выше – возможно, это баг разработчиков ОС.

На некоторое время проблему удалось решать следующим способом:
Заходим в настройки программы, значок которой не отображается в трее. Снимаем галочку «Отображать значок в трее» и применяем настройки. Далее тут же устанавливаем назад галочку «Отображать значок в трее» и тут же снова применяем настройки. В этом случает записи в реестре обновляются и значки в трее на некоторое время опять нормально отображаются.

Варианты, рассмотренные мною с других источников, не помогли решить проблему, а это:
1) Очистка кэша значков
2) Отключение всех неиспользуемых служб ОС и служб сторонних производителей
3) Установка пароля на учётную запись с целью «затормозить» запуск некоторых служб и фоновых программ, пока вводится пароль пользователя (пароль на домашней машине ставить не хочу).

Что можете посоветовать ещё?

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

Из всего моего софта должны быть значки настроек принтера Epson Status Monitor, Daemon Tools Lite и Управление Sanboxie. Отображается только KIS 2012 и APC PowerChute (он запускается по ярлыку из «Автозагрузки»).

P.S.
ОС: Windows 7 Профессиональная и Домашняя расширенная. (Обе SP1)
ОЗУ: 4 Гб.
CPU: Intel Core2Quad 2,6 GHz

К сообщению приложены файлы: 1.jpg, 610x290, 70Кb

1. GrayWolf, 01.04.2013 12:41
pdima
Включите отображение всех значков в трее. Там есть одна общая галка. А в том окне, скрин которого Вы показали у меня также некоторые значки не соответствуют. Но в трее - все значки правильные, поэтому забил и не парюсь.

2. pdima, 01.04.2013 12:49
цитата:
GrayWolf:
pdima
Включите отображение всех значков в трее. Там есть одна общая галка. А в том окне, скрин которого Вы показали у меня также некоторые значки не соответствуют. Но в трее - все значки правильные, поэтому забил и не парюсь.

Пробовал - значки по прежнему не загружаются после загрузки ОС.

3. Железячник, 02.04.2013 09:19
код:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify]
"PastIconsStream"=-
"IconStreams"=-

Выход\Вход

4. pdima, 02.04.2013 10:51
Что делает представленный параметр?

5. Железячник, 02.04.2013 11:08
pdima
Полный сброс иконок в трее.

6. TechStone, 03.04.2013 09:58
Было то же самое. Связывался с Майкрософт... Ни к чему не пришли. Проблема исчезла после установки SSD
Пришел к мысли, что именно не успевают прогружаться. Проблема была один-в-один, только вот программы у нас кардинально иные

7. pdima, 03.04.2013 19:58
Железячник
Сброс иконок не помог

8. Железячник, 04.04.2013 08:53

9. rooterr, 06.12.2013 07:50
Скорее всего если вы это читаете значит у вас та же проблема.
После включения компа когда windows 7 уже загрузился в системном трее почему-то не отображались некоторые иконки, несмотря на то, что программы были запущены и их окна были видны на рабочем столе. Среди этих программ были разные программы, иногда регулятор громкости, и языковая панель…

Долго выяснял в чем же дело, и понял, эти программы загружаются быстрее самого експлорера (explorer.exe), и если перезагрузить этот процесс через диспетчер задач и запустить снова, то все иконки появляются.

Что же делать? Пробовал и чистить реестр, и удалять все что только можно из автозагрузки чтобы не грузить систему, ничего не помогало.

Один раз в очередной раз в поиске решение проблемы, наткнулся на форуме на вот такой скрипт.


код:

On Error Resume Next
Dim n, Path

WScript.Sleep (3000) ' Дадим время на работу (здесь 3 сек) - придержим выполнение скрипта

Path = "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoTrayItemsDisplay"
Set Reg = CreateObject("WScript.Shell")
n = Reg.RegRead(Path)'проверяем,что у нас в реестре
If n <> 0 Then 'если раздела нет(n = ""), то значки отображаются по умолчанию и раздел создаваться не будет
Reg.RegWrite Path, 0, "REG_DWORD" 'создаём раздел
End If
Set Reg = Nothing

'Перезапускаем Explorer
For Each Process In GetObject("winmgmts:").ExecQuery("select * from Win32_Process where name='explorer.exe'")
Process.Terminate (0)
Next


Что нужно с ним сделать? Сначала создадим текстовый файл и вставим в него этот код, после это сохраним его с расширением *.vbs, я назвал его trayiconproblemsolve.vbs, скопируйте этот файл куда нибудь на диск С, так чтобы случайно его не удалить, после чего создайте ярлык(или даже скопируйте сам файл и переместите его в папку автозагрузки в меню пуск (C:\Users\!!!(ваш пользователь)!!!\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup).

Вот и все теперь после включения ПК, когда процесс explorer.exe и все остальные программы загружены, наш скрипт будет выполнятся, рестарт эксплорера - и этим самым перерисовывать весь наш экран, тем самым и прорисовывать tray icon.
За это сообщение сказали спасибо: grinder

10. pdima, 06.12.2013 15:05
У меня всё заработало, после того, как я поставил всё-таки пароль на учётную запись. Таким образом до входа в учётку загружаются все службы винды, а после входа - юзерские программы и службы из авторана. Получается эдакая задержка при загрузке.

P.S. В моём случае проблема крылась в Kaspersky Internet Security - он долго загружает свои службы, не давая корректно загружать все остальное.

11. filthgarry, 11.12.2019 13:56
Наконец-то нашел здесь как эту проблему решить..спасибо

12. Nevermore, 11.12.2019 23:39
filthgarry
что именно помогло-то?
Сообщение назвали неудачным: OM

13. filthgarry, 12.12.2019 17:13
цитата (Nevermore [source=22:86064:12]):

filthgarry
что именно помогло-то?

пароль тоже поставил, теперь все успевает загрузиться

15. Badpost, 02.01.2026 11:45
rooterr
Вот и все теперь после включения ПК, когда процесс explorer.exe и все остальные программы загружены, наш скрипт будет выполнятся, [source=22:86064:9]

Большое Вам спасибо! Предложенный Вами метод проблему решил.



URL: http://forum.ixbt.com/topic.cgi?id=22:86064