Я придумал решение для себя, и это решило проблему, в отличие от предложенных решений «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