6

Это происходило несколько раз, но я никогда не тратил время, чтобы посмотреть, есть ли решение этой проблемы. Когда explorer.exe аварии (из - за, скажем, открытие корзины после выбрасывая много файлов и убивая висящий проводник Windows), некоторые иконки в системном трее не появляются, даже если эти программы работают.

Закрытие и запуск программы, которой принадлежит отсутствующий значок (скажем, Spotify), восстанавливает значок. Кто-нибудь знает, почему это происходит, и если есть способ восстановить отсутствующие значки без необходимости перезапуска соответствующих программ?

3 ответа3

7

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

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

1

Кажется, есть определенные шаги для восстановления вашего системного трея. Если вы закроете и перезапустите Проводник правильно, значки вашего системного трея вернутся. Я никогда не ожидал, что элементы системного трея полностью вернутся после сбоя, но, похоже, это работает! :)

  • Нажмите Пуск Меню
  • Удерживайте Shift + Ctrl
  • Щелкните правой кнопкой мыши пустую область длинного прямоугольного меню «Пуск».
  • Выберите Exit Explorer

Ваша панель задач теперь исчезла.

  • Ctrl + Shift + Esc, чтобы попасть в диспетчер задач
  • Файл> Новая задача (Выполнить ...)
  • explorer.exe

Вы должны увидеть все значки на панели задач.

Источник: Закрыть и перезапустить Explorer.exe

0

Я придумал решение для себя, и это решило проблему, в отличие от предложенных решений «restarting explorer.exe». Проблема не в проводнике Windows, а в том, что программы в системном трее не написаны для восстановления в системном трее после сбоя explorer.exe. Это решение требует небольшого набора файла .bat, но в остальном это не так.

-

1) В диспетчере задач (CTRL+SHIFT+ESC) найдите программы, которые отсутствуют в системном трее. Все они должны все еще работать, но их нет в системном трее. Вы должны найти их все после небольшой прокрутки в диспетчере задач. Щелкните правой кнопкой мыши на первом и нажмите "Открыть местоположение файла". Это даст вам имя пути к файлу, а также приложение (выделено в проводнике Windows).

2) Откройте Блокнот. Вы будете печатать .bat файл. Скопируйте путь к окну проводника Windows, которое открылось, когда вы нажали "Открыть расположение файла". Вам нужно будет вставить его в блокнот. Вам также необходимо иметь имя файла программы, которую вы фактически открываете, которое уже выделено в проводнике Windows. Команда должна быть в этом точном формате (без скобок и ваших собственных имен файлов и путей):

    @echo off
    cd "C:\[file path]"
    taskkill /f /im [file name].exe
    start /f /im [same file name].exe

    cd "C:\[file path]"
    taskkill /f /im [file name].exe
    start /f /im [same file name].exe

    cd "C:\[file path]"
    taskkill /f /im [file name].exe
    start /f /im [same file name].exe

    -exit

Обязательно включите «@echo off» в начале и «-exit» в конце, чтобы автоматически закрыть программу. Я упорядочил команды для каждой программы так, как они отображаются в системном трее справа налево. Это хорошая идея, если вы хотите убедиться, что они загружаются в правильном порядке.

3) Сохраните текст в Блокноте как файл .bat. Для этого удалите расширение «.txt» в приглашении «Сохранить как ...», выберите «Все файлы (.)» И добавьте «.bat» в конец имени файла.

4) ВАЖНО: эта программа всегда должна запускаться от имени администратора. Вы можете либо щелкнуть правой кнопкой мыши программу и щелкнуть "Запуск от имени администратора" каждый раз, когда вы хотите перестроить системный трей, либо создать ярлык, где бы он ни хранился, который автоматически запускается от имени администратора.

Для этого щелкните правой кнопкой мыши оригинальный файл .bat и нажмите "Создать ярлык". Щелкните правой кнопкой мыши на только что созданном ярлыке и выберите "Свойства". В окне свойств нажмите кнопку с надписью «Дополнительно ...». В этом приглашении установите флажок "Запуск от имени администратора" и нажмите "ОК", затем снова "ОК", чтобы закрыть все. Я добавил этот ярлык в меню "Пуск", чтобы его можно было легко найти, когда explorer.exe решит аварийно завершить работу или перезапустить. Вы должны добавить ярлык к «C:\Users\ Ваше имя пользователя \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs», если вы хотите это сделать.

-

Я надеюсь, что это поможет любому с той же проблемой, что у меня была!

Вот пример моего .bat файла для моих программ для справки:

System Tray Rebuilder.bat

    @echo off
    cd "C:\Program Files (x86)\FSL\IconRestorer"
    taskkill /f /im IconRestorer.exe
    start IconRestorer.exe

    cd "C:\Program Files (x86)\Moo0\SystemMonitor 1.76"
    taskkill /f /im SystemMonitor.exe
    start SystemMonitor.exe

    cd "C:\Program Files (x86)\Software by Design"
    taskkill /f /im TrayTool.exe
    start TrayTool.exe

    cd "C:\Program Files (x86)\PrinterShare"
    taskkill /f /im paConsole.exe
    start paConsole.exe

    -exit

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .