Маленькое чёрное окно
Эрик КотатоСовсем недавно у меня возникла проблема на Винде. Каждый час начало появляться консольное окно на пару секунд. И всё бы ничего, если бы это окно не переводило на себя фокус, что означает вылет из любого полноэкранного приложения (такого как игра, например), или же может потребоваться лишнее нажатие клавиши. И если второе не так заметно из-за того, что окно появляется на секунды (а порой и на милисекунды), после чего фокус возвращается обратно, то для первого хватает и милисекунд.
Главная проблема состит в том, что это происходит каждый час. В итоге, если идёшь играть, скорее всего, игра свернётся (и возможно, даже по несколько раз).
Эта вещь вызвана багом в Microsoft Office 2016. На других версиях не проверялось.
В последнем разделе есть инструкция по исправлению данной проблемы.
Как это было обнаружено
В Винде есть такая вещь, как "планировщик заданий". При определённых сигналах или по расписанию задание запускает приложения, указанные в нём. Управляется это всё дело через апплет консоли управления, настройки хранятся в реестре.
К чему это я? А к тому, что этим консольным окном оказался сам "планировщик заданий". Точнее, его обработчик, taskeng.exe
.
В самом taskeng.exe
нет ничего необычного. Вопрос был в том, почему он был запущен именно с консольным окном, перетягивающим на себя фокус. Поэтому далее я решил посмотреть, какое из заданий запускает это, и направился в Панель управления -> Администрирование -> Планировщик заданий
.
У меня был ранее отключён журнал действий, поэтому я включил его. Через какое-то время, когда это окно появилось, я зашёл в планировщик и увидел это:
Так как после запуска окна я посмотрел на часы и запомнил время (5:09:36), я легко обнаружил, какое задание это запускало. Им оказалось OfficeBackgroundTaskHandlerRegistration.
Что это и зачем
Задание располагается в Библиотека планировщика заданий > Microsoft > Office
.
Описание задания выглядит следующим образом:
This task initiates Office Background Task Handler, which updates relevant Office data.
что в моём примерном переводе выглядит так:
Это задание запускает Office Background Task Handler, который обновляет соответствующие данные Office.
О каких данных идёт речь, я не особо понял. Название вообще переводится как "обработчик фоновых задач", что является достаточно размытым понятием.
Запускается задача каждый час, что подходит под описание проблемы.
Следует отметить одну интересную вещь. В этой же папке есть ещё одно похожее задание: OfficeBackgroundTaskHandlerLogon. Оно запускает то же самое, но только один раз: при запуске системы. И самое забавное в этом то, что если его запустить вручную, оно тоже открывает консольное окно taskeng.exe
. Все другие действия выполняются без открытия этого окна.
Решение проблемы
Небольшой поиск в Google про этот файл не открыл никаких подробностей о том, что он делает конкретно, но открыл интересную вещь: оказывается, это известный баг Office. Проблема в том, что окно открывается потому, что задание выполняется не с правами системы, а с правами обычного пользователя.
В итоге, одно из решений: поменять права задач на "система".
Почему "одно из решений"? Я не особо доверяю программам, не зная, что они делают. Тем более, что Майкрософт сама прекрасно доказала, что даже официальным программам от неё не стоит доверять. Поэтому я вместо того, чтобы дать системные права, отключил эти задачи.
Инструкция по исправлению
- Откройте "Панель управления":
либо: значок на рабочем столе
либо:Пуск > Панель управления
либо:Мой компьютер > Открыть панель управления
(в верхней панели) - Откройте "Планировщик заданий":
в режиме "Категория":Система и безопасность > Администрирование > Планировщик заданий
в режиме "Значки":Администрирование > Планировщик заданий
- Найдите задачи OfficeBackgroundTaskHandlerLogon и OfficeBackgroundTaskHandlerRegistration:
Расположение:Библиотека > Microsoft > Office
- Далее вы можете сделать любую из трёх вещей:
1. Отключить задачи (ПКМ по задаче > Отключить
).
Если сомневаетесь, выбирайте этот вариант. Таким образом в случае необходимости их всегда можно включить ещё раз.
2. Удалить задачи (ПКМ по задаче > Удалить
).
Если уверены, что эти задачи не делают ничего важного, можете спокойно удалить.
3. Дать задачам права системы (ПКМ по задаче > Свойства > Общие > Изменить > введите "система" > Проверить имена > ОК > ОК
).
Не рекомендуется давать системные права неизвестным приложениям, а порой и даже известным.
Вполне вероятно, что эти задачи могут пересоздаться какой-нибудь Майкрософтовской программой. В таком случае данную процедуру придётся повторить ещё раз.