Что такое формат файла HLP?
.hlp - это формат файлов справки Windows (WinHelp), представляющий собой бинарный скомпилированный справочный документ, содержащий информацию о программах и их использовании. Файлы справки служат документацией для пользователей по работе с Windows и системными приложениями. Файлы .hlp компилируются из исходных разделов RTF и файла проекта .hpj с помощью Microsoft Help Workshop (HCW.EXE) и просматриваются с помощью движка WINHLP32.EXE. Файлы, скомпилированные для разных версий Windows, могут быть несовместимы друг с другом.
Система WinHelp строится на основе исходных файлов RTF, которые предлагают базовое форматирование текста и цвета шрифтов, а также поддерживают изображения и гиперссылки. Исходный код RTF не поддерживает анимацию или интерактивные элементы. Формат .hlp дебютировал в Windows 3.0 в 1990 году, а WinHelp 4.0, выпущенный вместе с Windows 95 в 1995 году, добавил дополнительные окна, последовательности просмотра и полнотекстовый поиск.
Скомпилированный .hlp представляет собой проприетарный бинарный контейнер (а не набор файлов RTF), который содержит сжатые данные разделов, карту контекста, встроенные растровые изображения и дополнительные полнотекстовые индексы внутри внутренней структуры B-дерева. Он начинается с 4-байтовой сигнатуры (magic bytes) 3F 5F 03 00.
Начиная с Windows Vista, движок WinHelp больше не устанавливается по умолчанию. Microsoft предлагала загружаемое дополнение WinHlp32 для Vista и Windows 7, но отозвала его для Windows 10 и 11 - это означает, что большинство файлов .hlp невозможно открыть в современных версиях Windows без сторонних программ. В 1997 году формат был заменен на HTML Help (.chm).
Безопасность и защита
РИСК: MEDIUMФайлы WinHelp .hlp могут содержать макросы (макроязык WinHelp) и являлись задокументированной поверхностью атаки - это одна из причин, по которой Microsoft удалила движок из современных Windows. НЕ открывайте файлы .hlp из ненадежных источников, особенно с помощью старого движка WinHlp32, имеющего неисправленные уязвимости. Для доверенных старых файлов предпочтительнее конвертировать их в CHM/HTML/PDF или использовать изолированную стороннюю программу просмотра. Также остерегайтесь сайтов, предлагающих «бесплатные программы для просмотра/исправления .hlp», которые часто являются источником рекламного ПО и ПНП.
Детали формата
в двух словахПрограммы, открывающие файлы HLP
Технические подробности
глубокая спецификация| Сигнатура файла | 3F 5F 03 00 (little-endian 0x00035F3F) по смещению 0 - заголовок файла WinHelp 3.1/4.0 |
| Кодировка | Бинарная, little-endian |
| Структура контейнера | Проприетарная внутренняя файловая система WinHelp: каталог B-дерева с именованными потоками (|SYSTEM, |TOPIC, |Phrases, |CTXOMAP, |TTLBTREE, потоки растровых изображений) |
| Сжатие | Опциональное сжатие LZ77/Hall для блоков данных разделов, управляемое опцией COMPRESS= в файле проекта .hpj во время компиляции |
| Исходные файлы | Компилируется из файлов разделов .rtf и файла проекта .hpj (опционально с файлом оглавления .cnt) с помощью HCW.EXE или HCRTF.EXE (Help Workshop) |
| Движок WinHelp | WINHLP32.EXE (32-бит) / WINHELP.EXE (16-бит); по умолчанию не входит в состав Windows Vista и более поздних версий |
| Типичный размер файла | 20 КБ - 5 МБ; иногда больше для объемных справочных руководств |
| История версий | WinHelp 3.0 → WinHelp 3.1 (компилятор HC31) → WinHelp 4.0 (добавлены дополнительные окна, последовательности просмотра, полнотекстовый поиск, обучающие карточки) |
| Контекстно-зависимая справка | Целочисленные идентификаторы контекста сопоставляются с адресами разделов через поток |CTXOMAP, что позволяет интегрировать вызов по клавише F1 из хост-приложений |
| Встроенная графика | Поддерживает растровые изображения Windows BMP, SHG (сегментированная гиперграфика с активными зонами) и MRB (многослойные растровые изображения) |
| Сопутствующие файлы | .cnt (дерево оглавления), .gid (кэш полнотекстового индекса), .fts и .ftg (данные полнотекстового поиска) - создаются вместе с файлом .hlp |
| Целостность | CRC или контрольная сумма отсутствуют - повреждение файла приводит к невозможности открытия в WINHLP32.EXE без подробностей об ошибке |
| Заменен на | HTML Help (.chm, представлен в 1997 году); позже Microsoft Help 2 (.hxs) и Microsoft Help Viewer для онлайн-документации |
| MIME-тип | application/winhlp |
| Выпущен | 1990 (WinHelp, Windows 3.0); HLP 3.1 then WinHelp 4.0 with Windows 95 (1995) |
| Последняя версия | WinHelp 4.0 (1995); format frozen - deprecated after Windows XP, no engine in Vista+ by default |
Конвертации HLP
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах HLP.