На компьютере появляется окно:
На этой странице произошла ошибка сценарияСтрока: 397Символ:13Ошибка: не удалось получить свойство "scrollTop" ссылки, значение которой не определено или является NullКод: 0URL: file:///C:ProgramData/Avira/Antivirus/IPM/IpmDocument.htmlВы хотите продолжить выполнение сценария на этой странице?Да НетПроблема не в том, что появляется окно с ошибкой, а в том, что после того, как это окно закроешь, часть экрана перестаёт реагировать на клики мышки.
В интернете советы от "Удалить всё содержимое каталога C:\ProgramData\Avira\Antivirus\IPM и перезагрузить компьютер" до "Полностью переустановить Avira с использованием Registry Cleaner от Avira". Проблема в том, что через некоторое время эта ошибка появляется снова. Дело в том, что IpmDocument.html - это файлик с рекламой, которую время от времени показывает Avira. Соответственно, он подкачивается заново и, если в нём ошибка, то всё повторяется.
Поэтому я написал скрипт, который проверяет наличие этого файла и удаляет его. Кроме того, прибивает программу, которая запускает этот файл. Костыль, конечно, но, вроде бы, работает.
@ECHO OFFSETLOCALREM Файл лога:SET LOG=%~dp0\Avira.logREM Поиск в запущенных процессах процесса, который отвечает за запуск рекламного объявленияREM и его прекращениеset filename=ipmgui.exeREM if "%1" neq "" set filename=%1for /f %%a in ('tasklist /nh /fi "imagename eq %filename%" ^| find /c "%filename%"') do set /a quantity=%%arem Если запущена 1 и более копий процессаif %quantity% geq 1 goto ALREADY_RUNDATE /t >> %LOG%TIME /t >> %LOG%echo No processes of %filename%! >> %LOG%rem ... Вставьте сюда свои команды, когда процесс НЕ запущен ...goto IPM:ALREADY_RUNDATE /t >> %LOG%TIME /t >> %LOG%echo Already run %quantity% processes of %filename% >> %LOG%rem ... Вставьте сюда свои команды, когда процесс запущен ...TASKKILL /F /IM ipmgui.exeREM Поиск и удаление файла с рекламным объявлением:IPMIF EXIST C:\ProgramData\Avira\Antivirus\IPM\IpmDocument.html ( ECHO File exist, deleted >> %LOG% DEL /Q /F C:\ProgramData\Avira\Antivirus\IPM\*.* ) ELSE ( ECHO File not exist, well done >> %LOG% )REM 25 числа каждого месяца удаляем файл лога, чтобы не рос бесконечноSET DAY=%DATE:~0,2%IF %DAY% == 25 ( IF EXIST %LOG%.bak DEL %LOG%.bak REN %LOG% Avira.log.bak ) :ENDСкрипт запускается планировщиком каждые полчаса. Расположение скрипта - произвольное, но обычно скрипты находятся в D:\programs\cmd. Старт - при запуске компьютера. Раз в полчаса на экране мелькает чёрное окно командной строки, но очень быстро, так что практически и не мешает.