Событие 1903 HHCTRL

2024-02-01

Событие 1903 от источника HHCTRL преследует меня со времен windows XP, сейчас же, пользуясь несколько лет windows 10, я определенно не ожидал увидеть эту ошибку. Но как и раньше, она забила весь журнал, делая записи по 10 штук в секунду, хотя сейчас у нее появилось описание - "Задан неправильный размер формы".

Куча ошибок HHCTRL

Самое интересное, что такая проблема есть у многих, но почему-то решением никто не делится.
HHCTRL расшифровывается как HTML Help Control, по сути это справка(которая вызывается клавишей F1). Событие 1903 появляется постоянно, и записывается в журнал событий "Приложение".
Оказалось, что это событие 1903 появляется в том случае, когда приложение запускается как служба,
Терпеть это больше не было сил, и глубокое изучение проблемы и решений привело к тому, что были найдены несколько вариантов решения:
1. Можно переименовать файл hhctrl.ocx в директории Windows\System32 или Windows\SysWOW64. Таким образом мы избавимся от справки, но и от спама сообщениями ошибки 1903. К сожалению у этого метода есть недостаток - справки не будет нигде.
2. Найти службу, из-за которой сыпятся события от HHCTRL в журнал, и отключить ее. Сделать это достаточно сложно и придется потерять много времени.
3. Также среди решений было - принятие ошибки 1903 и смирение с ней, но конечно же такой вариант никуда не годится.

Долгое время это были единственно доступные решения проблемы HHCTRL и EventID 1903. Среди прочего, на форумах шли обсуждения о причинах появления этого события в журнале windows. И даже нашлась одна из причин - это флудит Dr.Web, он и сам в этом признался. Еще воможно виновником был UltraVNC.
Но дальше обсуждений дело не двигалось, и все просто тихо смирились с этим.

И казалось, когда уже все забылось, решение обнаружилось, спустя более 10 лет в 2017 году, и для решения нужно было всего лишь добавить два параметра в реестр Windows.
Данное решение было опубликовано на сайте Dynamics GP Land.

Чтобы навсегда избавиться от ошибки 1903 от HHCTRL нужно добавить в два параметра в ветку реестра в зависимости от разрядности windows
HKLM\SOFTWARE\Wow6432Node\Microsoft\HTMLHelp\1.x\HHRestrictions - для 32-бит Windows
HKLM\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions - для 64-бит Windows
Вот в эти ветки нужно добавить DWORD-параметры со значением 1:
EnableNonInteractiveUser и EnableFrameNavigationInSafeMode, эти параметры разрешают запускать справку и ее форму навигации в режиме службы, а не только пользователя.


Ошибок 1903 от HHCTRL больше нет

Для удобства, я оформил это решение в виде reg-файлов в зависимости от разрядности вашей windows. После выполнения reg-файла и слияния его с реестром, перезагрузите компьютер и наслаждайтесь чистым от ошибок журналом.

Скачать для x32

Скачать для x64