Чем открыть CHM
CHM (Compressed HTML Help) представляет собой набор упакованных в архив LZX файлов в формате HTML, чаще всего связанных между собой ссылками. Первоначально целью создания формата было использование его в качестве справочной документации к программам (в частности для справки к ОС Windows) с возможностью перехода по гиперссылкам, но затем формат стал использоваться также для создания электронных книг и других текстовых документов.
Приложения для открытия CHM
Файлы с расширением CHM умеют раскрывать, как специализированные приложения для работы с ними, так и некоторые «читалки», а также универсальные просмотрщики.
Способ 1: FBReader
Первым приложением, на примере которого мы рассмотрим открытие файлов справки, является популярная «читалка» FBReader.
Скачать FBReader бесплатно
- Запускаем FBReader. Жмите по иконке «Добавить файл в библиотеку»
- Далее в открывшемся окне выполните переход в тот каталог, где помещен целевой CHM. Выполните его выделение и нажмите «OK».
- Открывается небольшое окошко «Информация о книге», в котором нужно указать язык и кодировку текста в открываемом документе. В большинстве случаев эти параметры определяются автоматически. Но, если после открытия документа на экране отобразятся «кракозябры», то файл нужно будет запустить заново, а в окошке
«Информация о книге» указать другие параметры кодировки. После того, как параметры указаны, жмите «OK». - Документ CHM будет открыт в программе FBReader.
Способ 2: CoolReader
Ещё одной читалкой, способной открывать формат CHM является CoolReader.
Скачать CoolReader бесплатно
- В блоке «Открыть файл» кликните по наименованию того диска, где размещен целевой документ.
- Открывается перечень папок. Производя навигацию по ним, нужно добраться до каталога расположения CHM. Затем следует щелкнуть по названному элементу левой кнопкой мышки (ЛКМ).
- Файл CHM открыт в CoolReader.
Правда, при попытке запустить документ названного формата большого размера в CoolReader может отображаться ошибка.
Способ 3: ICE Book Reader
В число программных инструментов, при помощи которых можно выполнять просмотр файлов CHM, входит софт для чтения книжек с возможностью создания библиотеки ICE Book Reader.
Скачать ICE Book Reader
- После запуска БукРидер нажмите по пиктограмме «Библиотека», которая имеет вид папки и располагается на панели с инструментами.
- Открывается небольшое окошко управления библиотекой. Жмите по пиктограмме в форме знака «плюс» («Импортировать текст из файла»).
Можете щелкнуть по аналогичному названию в списке, который открывается после нажатия наименования «Файл».
- Любая из этих двух манипуляций инициирует открытие окна импорта файла. В нем переместитесь в тот каталог, где помещен элемент CHM. После того, как произведено его выделение, жмите «OK».
- Затем начинается процесс импорта, после которого соответствующий текстовый объект добавляется в библиотечный перечень с расширением IBK. Чтобы открыть импортированный документ, просто щелкните Enter после его обозначения или сделайте по нему двойное нажатие ЛКМ.
Также можете, обозначив объект, нажать на пиктограмму «Читать книгу», представленную в виде стрелки.
Третий вариант открытия документа выполняется через меню. Нажмите «Файл», а затем выберите «Читать книгу».
- Любое из этих действий обеспечит запуск документа через интерфейс БукРидер.
Способ 4: Calibre
Ещё одной многофункциональной «читалкой», которая может открывать объекты изучаемого формата, является Calibre. Как и в случае с предыдущим приложением, перед непосредственным чтением документа потребуется предварительно добавить его в библиотеку приложения.
Скачать Calibre бесплатно
- После запуска программы щелкните по пиктограмме «Добавить книги».
- Производится запуск окошка выбора книги. Переместитесь в нем в туда, где размещен документ, который нужно просмотреть. После того, как он отмечен, щелкните «Открыть».
- После этого книга, а в нашем случае документ CHM, импортирована в Калибри. Если мы щелкнем по добавленному названию ЛКМ, то документ откроется с помощью того программного продукта, который определен по умолчанию для его запуска в операционной системе (чаще всего это внутренний просмотрщик Windows). Если же вы желаете произвести открытие именно при помощи просмотрщика Калибри (E-book viewer), то кликните по наименованию целевой книги правой кнопкой мыши. В открывшемся меню выберите
- После выполнения данного действия объект будет открыт с помощью внутреннего просмотрщика программы Калибри — E-book viewer.
Способ 5: SumatraPDF
Следующим приложением, в котором мы рассмотрим открытие документов формата CHM, является многофункциональный просмотрщик документов SumatraPDF.
Скачать SumatraPDF бесплатно
- После запуска СуматраПДФ жмите «Файл». Далее в списке переместитесь по
Можете нажать на пиктограмму в форме папки, которая также называется «Открыть», или воспользоваться Ctrl+O.
Существует возможность запуска окна открытия книги, кликнув ЛКМ в центральной части окна SumatraPDF по «Открыть документ…».
- В окне открытия необходимо произвести переход в ту директорию, в которой локализован предназначенный для открытия файл справки. После того, как объект обозначен, жмите «Открыть».
- После этого документ запущен в СуматраПДФ.
Способ 6: Hamster PDF Reader
Ещё одним просмотрщиком документов, при помощи которого можно читать файлы справки, является Hamster PDF Reader.
Скачать Hamster PDF Reader
- Запустите данную программу. Она использует ленточный интерфейс по типу Microsoft Office. Щелкните по вкладке «Файл». В открывшемся перечне нажмите «Открыть…».
Можете щелкнуть по пиктограмме «Открыть…», размещенной на ленте во вкладке «Главная» в группе «Инструменты», или применить Ctrl+O.
Третий вариант предполагает нажатие на пиктограмму «Открыть» в форме каталога на панели быстрого доступа.
Наконец, можно щелкнуть по надписи «Открыть…», расположенной в центральной части окна.
- Любое из названных действий приводит к открытию окошка запуска объекта. Далее в нем следует переместиться в тот каталог, где располагается искомый документ. После его выделения обязательно щелкните «Открыть».
- После этого документ будет доступен для просмотра в Хамстер ПДФ Ридер.
Также просмотреть файл можно, перетащив его из Проводника Виндовс в окно Hamster PDF Reader, зажав при этом левую кнопку мышки.
Способ 7: Universal Viewer
Кроме того, формат CHM умеет открывать целая серия универсальных просмотрщиков, работающих одновременно с форматами разнообразной направленности (музыка, изображения, видео и т.д.). Одной из хорошо зарекомендовавшей себя программ такого плана считается Universal Viewer.
- Выполните запуск Юниверсал Вьювер. Жмите по пиктограмме «Открыть» в форме каталога.
Для открытия окна выбора файлов можете применить Ctrl+O или поочередно нажать по «Файл» и «Открыть…» в меню.
- Окно «Открыть» запущено. Перейдите к месту расположения нужного элемента на диске. После его выделения сделайте щелчок по «Открыть».
- После указанных выше манипуляций объект в формате CHM открыт в Юниверсал Вьювер.
Существует ещё один вариант открытия документа в данной программе. Перейдите в директорию расположения файла посредством Проводника Windows. Затем, зажав левую кнопку мышки, перетащить объект из Проводника в окно Юниверсал Вьювер. Документ CHM откроется.
Способ 8: встроенный просмотрщик Windows
Также содержимое документа CHM можете увидеть с помощью встроенного просмотрщика Windows. В этом нет ничего странного, так как данный формат был специально создан для обеспечения функционирования справки этой операционной системы.
Если вы не производили изменений настроек по умолчанию для просмотра CHM, в том числе путем установок дополнительных приложений, то элементы с названным расширением должны автоматически открываться встроенным просмотрщиком Windows после двойного клика по ним левой кнопкой мыши в окне Проводника. Свидетельством того, что CHM ассоциирован именно со встроенным просмотрщиком, является иконка, на которой изображен лист бумаги и знак вопроса (намек на то, что объект представляет собой файл справки).
В случае, когда по умолчанию для открытия CHM в системе прописано уже другое приложение, в Проводнике будет отображаться около соответствующего файла справки именно его иконка. Тем не менее, при желании этот объект довольно просто можете открыть и при помощи встроенного поросмотрщика Виндовс.
- Перейдите к выбранному файлу в Проводнике и нажмите по нему правой кнопкой мышки (ПКМ). В запустившемся перечне выберите «Открыть с помощью». В дополнительном списке щелкните по «Исполняемая справка HTML Microsoft».
- Содержимое отобразится с помощью стандартного инструмента Windows.
Способ 9: Htm2Chm
Ещё одной программой, которая выполняет работу с CHM, является Htm2Chm. В отличие от представленных выше способов, вариант с использованием названного приложения не позволяет просматривать текстовое содержимое объекта, но с его помощью можно создавать сами документы CHM из нескольких HTML-файлов и других элементов, а также производить разархивацию готового файла справки. Как осуществить последнюю процедуру, мы посмотрим на практике.
Скачать Htm2Chm
Так как оригинал программы на английском языке, которым многие пользователи не владеют, прежде всего, рассмотрим процедуру её установки.
- После того, как инсталлятор Htm2Chm скачан, следует произвести установку программы, процедура которой инициируется двойным щелчком мыши по нему. Запускается окошко, в котором говорится: «This will install htm2chm. Do you wish to continue» («Будет выполнена установка htm2chm. Вы хотите продолжить?»). Щелкните «Да».
- Далее открывается приветственное окошко инсталлятора. Жмем «Next» («Далее»).
- В следующем окошке требуется согласиться с лицензионным соглашением, установив переключатель в позицию «I accept the agreement». Щелкаем «Next».
- Запускается окошко, где указывается каталог, в который будет инсталлировано приложение. По умолчанию это «Program Files» на диске C. Рекомендуется не изменять данную настройку, а просто кликнуть «Next».
- В следующем окошке выбора папки стартового меню тоже достаточно нажать «Next», ничего больше не предпринимая.
- В новом окошке путем установки или снятия галочек около пунктов «Desktop icon» и «Quick Launch icon» можете определить, устанавливать или нет иконки программы на рабочий стол и в панель быстрого запуска. Щелкайте «Next».
- Затем открывается окошко, где собраны все основные сведения, вводимые вами в предыдущих окнах. Для непосредственного запуска установки приложения щелкните «Install».
- После этого будет выполнена процедура инсталляции. По её окончании запустится окошко, сообщающее об успешной установке. Если вы хотите, чтобы программа была запущена сразу же, то проследите, чтобы напротив параметра «Launch htm2chm» был установлен флажок. Для выхода из окошка инсталлятора жмите «Finish».
- Запускается окошко Htm2Chm. В нем расположено 5 основных инструментов, с помощью которых можно выполнять редактирование и преобразование HTLM в CHM и обратно. Но, так как у нас поставлена задача разархивировать готовый объект, то выбираем функцию «Decompiler».
- Открывается окошко «Decompiler». В поле «File» требуется указать адрес объекта, подлежащего распаковке. Его можете прописать вручную, но легче сделать это через специальное окно. Кликаем по пиктограмме в форме каталога справа от поля.
- Открывается окошко выбора объекта справки. Перейдите в директорию, где он размещен, отметьте его, нажмите «Открыть».
- Происходит возврат в окошко «Decompiler». В поле «File» теперь отображается путь к объекту. В поле «Folder» отображается адрес папки, в которую будет выполнена распаковка. По умолчанию это та же директория, где находится первоначальный объект. Если требуется изменить путь распаковки, то щелкаем по значку справа от поля.
- Открывается инструмент «Обзор папок». Выделяем в нем ту директорию, в которую хотим производить процедуру разархивации. Щелкаем «OK».
- После очередного возврата в окошко «Decompiler» после того, как все пути указаны, для активации распаковки щелкаем «Start».
- В следующем окошке говорится о том, что архив распакован и спрашивается, не желает ли пользователь перейти в ту директорию, куда была выполнена разархивация. Жмем «Да».
- После этого открывается Проводник в той папке, куда были распакованы элементы архива.
- Теперь эти элементы при желании можно просмотреть в той программе, которая поддерживает открытие соответствующего формата. Например, объекты HTM можно просмотреть с помощью любого браузера.
Как видим, просмотреть формат CHM можно, используя целый перечень программ различной направленности: «читалки», просмотрщики, встроенный инструментарий Виндовс. Например, «читалки» лучше всего применять для просмотра электронных книжек с названным расширением. Можно произвести разархивацию указанных объектов с помощью Htm2Chm, а уже затем просматривать отдельные элементы, которые содержались в архиве.
Мы рады, что смогли помочь Вам в решении проблемы.Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТПри работе в операционной системе Windows пользователи регулярно сталкиваются с огромным количеством файлов различных форматов. В большинстве случаев никаких проблем с их открытием не случается, поскольку для основных типов файлов уже предустановлено необходимое П. О. Иногда система не может автоматически подобрать программу для работы с файлами и спрашивает пользователя, что делать и какой софт использовать. Такая проблема периодически наблюдается при попытках открыть файлы с разрешением chm.
Формат файлов CHM
Полное название формата — Compiled HTML Help File. Разработчиком chm является Microsoft, а сам по себе формат используется в Windows и сторонних программах для создания справок, страниц помощи, инструкций и так далее.
Документ CHM поддерживает следующие элементы:
- Текст и форматирование текста;
- Гиперссылки — как на сторонние ресурсы в интернете, так и на другие страницы и разделы файла;
- Изображения;
- Все возможности форматирования, доступные в HTML и CSS.
Отличительной особенностью файлов является меньший вес по сравнению с обычным HTML, несмотря на аналогичные возможности по форматированию и оформлению страниц.
Важно: Так как chm-справочник остается, по сути, сжатым HTML-документом, обычные браузеры могут его открыть. Но корректное открытие происходит далеко не всегда, для правильного отображения документов требуются дополнительные программы.
Открытие стандартными средствами Windows
Поскольку формат разработан в Microsoft, в любых версиях начиная с Windows 98 присутствует возможность открыть файлы chm стандартными средствами системы. Справочные файлы, предназначенные для самой ОС, должны открываться такими способами без проблем.
Как и чем открыть chm в Windows 7 и 10:
- Нажать правой кнопкой мыши на документе, который нужно открыть.
- В контекстном меню нажать на пункт «Открыть с помощью…».
- В открывшемся окне среди программ нужно выбрать вариант «Microsoft® HTML Help Executable» или «Исполняемая справка в формате HTML Microsoft®».
- Нажать «ОК».
Перед нажатием «ОК» также можно поставить галочку напротив «Использовать для всех файлов этого типа», чтобы избавиться от необходимости каждый раз совершать эти действия повторно. С галочкой все chm файлы будут автоматически открываться с использованием выбранной программы.
Второй способ мало чем отличается от первого, однако поможет открыть файл напрямую, если в списке рекомендуемых программ нужного не оказалось:
- Нажать на файле правой кнопкой мыши.
- Выбрать пункт «Открыть с помощью…».
- Нажать «Обзор».
- В открывшемся проводнике перейти в папку C:\WINDOWS\.
- Найти и выбрать программу hh. exe.
Приложение hh. exe является стандартным для открытия chm в Windows всех версий. В большинстве случаев служба работает корректно, но по ряду причин открытие файлов может происходить с ошибками, либо справочники не открываются вовсе.
Причины возникновения ошибок
Иногда Windows оказывается не в состоянии открыть документы данного формата из-за различных системных сбоев. В этом случае либо документ просто не будет открываться, либо ОС не сможет его корректно распознать и отобразить, в результате чего будут выводиться ошибки или системные сообщения.
Наиболее распространенные случаи, почему файл chm не открывается:
- Некорректный путь к файлу. Проблема может возникать при наличии в пути русских букв (любых символов в кириллице), а также нижнего подчеркивания и решетки (#). Следует проверить название всех папок на пути к документу и убедиться, что такие символы отсутствуют. Для гарантии можно переместить документ в другую папку и попробовать открыть его снова.
- Расположение. Если нужный документ находится на сетевом диске, то компьютер может его не открывать. Для исправления проблемы достаточно скопировать нужный файл с сетевого диска на свой ПК.
- Системный сбой, для выполнения которого требуется выполнить определенную команду.
На последнем случае следует остановиться поподробнее. Для исправления этой системной неисправности требуется:
- Нажать «Пуск», затем «Выполнить».
- В появившимся поле ввести следующую команду: regsvr32%windir%\system32\hhctrl.ocx
- Нажать «Ок».
После этого проблема должна исчезнуть, и нужный документ корректно отобразится.
Программы для чтения и просмотра chm
Несмотря на то что данный формат документов является системным и предназначается для Windows, при помощи стороннего программного обеспечения открывать и просматривать такие файлы можно на всех популярных ОС.
Иногда в этом формате можно встретить электронные книги, так как они занимают меньше места и быстрее загружаются. Как следствие, большое количество читалок для электронных книг оказываются адаптированы для работы с этими документами. Если на компьютере установлена программа для чтения книг, можно для начала попробовать использовать ее для просмотра нужного chm. В противном случае придется потратить время на установку дополнительного софта.
Для Windows 7 и 10
Открывать и читать Compiled HTML Help File в операционной системе Windows можно при помощи следующих программ:
- CoolReader;
- Dawningsoft PowerCHM;
- FBReader;
- 7-Zip;
- CoolReader;
- GridinSoft CHM Decoder;
- Calibre;
- Universal Viewer;
- Help Explorer Viewer;
- xCHM.
Помимо этого, для открытия файлов могут подойти любые браузеры, в том числе встроенный в Windows Internet Explorer. Все популярные браузеры адаптированы для открытия chm: Opera, Firefox, IE, Google Chrome.
При помощи следующих программ можно создать документы данного формата:
- htm2chm — конвертирует обычные html страницы в требуемый сжатый вид;
- Microsoft HTML Help Workshop — официальная утилита от производителя;
- Word2Help — удобное ПО от сторонних разработчиков с широким функционалом.
Данные программы позволяют не только создавать и открывать документы, но и конвертировать их из одного формата в другой (PDF, HTML и другие).
CHM
Что такое формат CHM?Чем редактировать?
Скачать программу для открытия CHM
Если вы не смогли открыть файл двойным нажатием на него, то вам следует скачать и установить одну из программ представленных ниже, либо назначить программой по-умолчанию, уже установленную (изменить ассоциации файлов). Наиболее популярным программным обеспечением для даного формата является программа Mozilla Firefox (для ОС Windows) и программа Chmox (для ОС Mac) — данные программы гарантированно открывают эти файлы. Ниже вы найдете полный каталог программ, открывающих формат CHM для операционной системы Windows, Mac, Linux.
Программы для открытия CHM файлов
Чем открыть CHM в Windows? Mac LinuxОбщее описание расширения
Формат файла CHM относится к расширениям из категории Веб форматы, его полное название — Compiled HTML Help File.Формат CHM несет в себе справочную информацию, которая состоит из HTML-страниц. Довольно часто в подобном файле могут храниться различные электронные книги.
Узнать подробнее что такое формат CHM
Что еще может вызывать проблемы с файлом?
Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт «Открыть с помощью», а выпадающем меню выбрать пункт «Выбрать программу…». В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта «Использовать это приложение для всех файлов CHM».
Другая проблема, с которой наши пользователи также встречаются довольно часто — файл CHM поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:
- Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: «Файл filetype:CHM». Просто замените слово «файл» на нужное вам название;
- Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;
Знаете другие программы, которые могут открыть CHM? Не смогли разобраться как открыть файл? Пишите в комментариях — мы дополним статью и ответим на ваши вопросы.
Создание CHM с поиском и индексом / Хабр
Думаю многие из вас сталкивались с такой проблемой. Заходишь на сайт — видишь кучу полезной информацию, но при этом на сайте не организован полноценной поиск, нет указателя, а пользоваться каждый раз гуглом, мягко говоря, напрягает.Да и плюс ко всему хотелось бы иметь возможность иметь информацию под другой даже когда нет интернета.
Формат CHM известен практически всем. Легкий, удобный и функциональный. Работает, правда, официально он только в Windows. У этого формата есть очень большой плюс — после создания такого файла в будущем будет возможность его отредактировать.
Что нам нужно для создания полноценного (с поиском, указателем, содержанием) файла chm?
0. скачанная копия сайта (здесь рассматривать не будем — получить копию сайта можно множеством способов, например, воспользовавшись программами типа Teleport Pro, WebCopier).
1. htm2chm — позволяет удобно создавать файлы содержания и указателя (там есть компилятор, но без поиска)
2. Microsoft HTML Help WorkShop — сам компилятор, которым будем создавать chm-ки.
После установки htm2chm делаем интеграцию с оболочкой.
Далее пользуясь контекстным меня создаем файлы указателя (TOC.hhc) и содержание (Index.hhk).
С помощью редактора содержания htm2chm мы можем создать удобную древовидную структуру представления информацию.
Теперь нам осталось только создать файл проекта и откомпилировать проект в HTML Help WorkShop.
Опытным путем я создал несколько шаблонов для проектов.
1. Шаблон с содержанием и избранным, без указателя (кодировка — Win1251):
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Contents file=TOC.hhc
Default Window=ProjectType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский
[WINDOWS]
ProjectType=»???»,«TOC.hhc»,,«Index.htm»,«Index.htm»,,,,,0x63520,,0x184e,,,,,,,,0
[FILES]
Sample.hhp
[INFOTYPES]
здесь:
Project.chm — имя файла на выходе.
Index.htm — начальная/домашняя страница для файла помощи
Все необходимые файлы для компиляции подхватятся из файла содержания (TOC.hhc).
2. Шаблон с содержанием и указателем, а также кнопкой изменения шрифта:
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Default Window=WindowType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский
[WINDOWS]
WindowType=»???»,«TOC.hhc»,«Index.hhk»,«Index.htm»,«Index.htm»,,,,,0x60520,250,0x10184e,[10,10,700,500],,0x200,1,,,,0
[FILES]
Sample_FIT.hhp
[INFOTYPES]
3. Шаблон с содержанием и указателем, а также кнопкой изменения шрифта и доп. кнопкой («About»):
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Project.chm
Default Window=WindowType
Default topic=Index.htm
Display compile progress=No
Full-text search=Yes
Language=0x419 Русский
[WINDOWS]
WindowType=»???»,«TOC.hhc»,«Index.hhk»,«Index.htm»,«Index.htm»,,,«About.htm»,«About»,0x60520,250,0x18184e,[10,10,700,500],,0x200,1,,,,0
[FILES]
Sample_FITJ2.hhp
[INFOTYPES]
здесь:
About — название кнопки
About.htm — файл, на который ссылается кнопка
Если внимательно посмотреть файл TOC.hhc, то можно заметить, что это обычный xml-файл, в котором идет перечисление параметров, а также настройки отображения файла помощи.
Вот про эти настройки и поговорим.
Можно увидеть примерно вот такие строки:
PARAM name=«Window Styles» value=«0x800627»
PARAM name=«ImageType» value=«Folder»
PARAM name=«ExWindow Styles» value=«0x2200»
Значение для Window Styles имеет 16-ричный формат. Вот расшифровка:
PARAM name=«Window Styles» value=«0xb0daec»
где:
c:
бит 1 — Plus/Minus squares | Квадраты плюса/минуса
бит 2 — Draw lines between items | Рисовать линии между элементами
бит 4 — Start line from the root | Начинать линию из корневого элемента
e:
бит 2 — Show selection when focus lost | Показывать выбор при потере фокуса
Лучше ставить — иначе при комбинации Скрыть/Показать текущий топик показываться не будет.
a:
бит 4 — Only expand a single heading | Разворачивать только одиночный заголовок
Т.е. автоматическое разворачивание заголовков, имеющих разделы, при выборе.
бит 2 — Automatically track selection | Автоматически подчеркивать элемент
бит 1 — Ставит чекбоксы (но зачем?)…
d:
бит 1 — Select entire row | Выделение полной строки (полезная штука)
только если не выбран стиль Draw lines between items
b:
бит 8 — Border | Рамка (имеет смысл только для Dialog Frame)
бит 4 — Dialog Frame | Диалоговая рамка
Итого для 0x800627 имеем:
8 — (Border)
6 — 4+2 (Only expand a single heading, Automatically track selection)
2 — (Show selection when focus lost )
7 — 4+2+1 (Plus/Minus squares, Draw lines between items, Start line from the root)
Дополнительно:
Right-to-left reading order | Порядок чтения справа налево
(чистый бит)
param name=«ExWindow Styles» value=«0x2200»
Raised edge | Рельефный край (разницы вместе с ним не видно)
(чистый бит)
param name=«ExWindow Styles» value=«0x100»
Scroll bar on left side | Полоса прокрутки на левой стороне
(чистый бит)
param name=«ExWindow Styles» value=«0x4200»
PARAM name=«ImageType» value=«Folder»
Если этот параметр указан, то значки представляются в виде файлов.
На этом описание окончано. Для компиляции используем:
«%PROGRAMFILES%\HTML Help Workshop\hhc.exe» <ИМЯ ПРОЕКТА.HHP>
В конце увидим примерно такой отчет:
Compiling ..\bacula_24\Bacula_24.chm
Compile time: 0 minutes, 3 seconds
70 Topics
5,168 Local links
74 Internet links
34 Graphics
PS. Для декомпиляции можно использоваться множество средств, лично я использую примочку для FAR manager — CHMView.
Как открыть файл CHM? Расширение файла .CHM
Что такое файл CHM?
Файл .CHM — это скомпилированный файл интерактивной справки, который создается с помощью средств разработки справки, таких как Microsoft HTML Help Workshop. Файл CHM, который представляет собой решение для интерактивной справки, содержит изображения, текст, гиперссылки, которые могут просматриваться различными программами, поддерживаемыми в ОС Windows и в веб-браузерах, таких как FireFox или Safari. Кроме того, файл CHM можно преобразовать в другие форматы, такие как PDF, TXT и другие текстовые форматы, используя различные доступные в Интернете программы, включая программу Zamzar.
Программы, которые поддерживают CHM расширение файла
Ниже вы найдете указатель программ, которые можно использовать для открытия файлов CHM, разделенных на категории 3 в соответствии с поддерживаемой системной платформой. Файлы с суффиксом CHM могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.
Updated: 05/04/2020
Как открыть файл CHM?
Проблемы с доступом к CHM могут быть вызваны разными причинами. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Compiled HTML Help Format, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами CHM.
Шаг 1. Установите xCHM программное обеспечение
Основная и наиболее частая причина, препятствующая открытию пользователями файлов CHM, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы CHM. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как WinCHM, PowerCHM, ChmDecompiler. Полный список программ, сгруппированных по операционным системам, можно найти выше. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт xCHM и загрузите установщик.
Шаг 2. Проверьте версию xCHM и обновите при необходимости
Если проблемы с открытием файлов CHM по-прежнему возникают даже после установки xCHM, возможно, у вас устаревшая версия программного обеспечения. Проверьте веб-сайт разработчика, доступна ли более новая версия xCHM. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причиной того, что xCHM не может обрабатывать файлы с CHM, может быть то, что программное обеспечение устарело. Последняя версия xCHM должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.
Шаг 3. Назначьте xCHM для CHM файлов
Если у вас установлена последняя версия xCHM и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления CHM на вашем устройстве. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Изменить приложение по умолчанию в Windows
- Нажатие правой кнопки мыши на CHM откроет меню, из которого вы должны выбрать опцию Открыть с помощью
- Выберите Выбрать другое приложение → Еще приложения
- Наконец, выберите Найти другое приложение на этом… , укажите папку, в которой установлен xCHM, установите флажок Всегда использовать это приложение для открытия CHM файлы свой выбор, нажав кнопку ОК
Изменить приложение по умолчанию в Mac OS
- Щелкните правой кнопкой мыши на файле CHM и выберите Информация.
- Откройте раздел Открыть с помощью, щелкнув его название
- Выберите из списка соответствующую программу и подтвердите, нажав « Изменить для всех» .
- Наконец, это изменение будет применено ко всем файлам с расширением CHM должно появиться сообщение. Нажмите кнопку Вперед, чтобы подтвердить свой выбор.
Шаг 4. Убедитесь, что файл CHM заполнен и не содержит ошибок
Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл CHM действительным. Проблемы с открытием файла могут возникнуть по разным причинам.
1. Проверьте CHM файл на наличие вирусов или вредоносных программ.
Если случится так, что CHM инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если сканер обнаружил, что файл CHM небезопасен, действуйте в соответствии с инструкциями антивирусной программы для нейтрализации угрозы.
2. Убедитесь, что файл с расширением CHM завершен и не содержит ошибок
Если вы получили проблемный файл CHM от третьего лица, попросите его предоставить вам еще одну копию. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. Если файл CHM был загружен из Интернета только частично, попробуйте загрузить его заново.
3. Убедитесь, что у вас есть соответствующие права доступа
Иногда для доступа к файлам пользователю необходимы права администратора. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл Compiled HTML Help Format.
4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия xCHM
Если система перегружена, она может не справиться с программой, которую вы используете для открытия файлов с расширением CHM. В этом случае закройте другие приложения.
5. Убедитесь, что у вас установлены последние версии драйверов, системных обновлений и исправлений
Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами Compiled HTML Help Format. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов CHM.
Расширение файла CHM. Чем открыть CHM?
Расширение CHM
Чем открыть файл CHM
В Windows: xCHM, GridinSoft CHM Decoder, GridinSoft CHM Editor, Softany WinCHM, Dawningsoft PowerCHM, Guohua ChmDecompiler, Help Explorer Viewer, Microsoft Internet Explorer, Mozilla Firefox, FBReader, Word2Help, htm2chm, Microsoft HTML Help Workshop, Vole Media CHM
В Mac OS: Chmox, Help Steward, xCHM, Enolsoft CHM View, Apple Safari, Mozilla Firefox, FBReader, Chamonix, iChm, Tubby
В Linux: xCHM, Mozilla Firefox, ChmSee, kchmviewer, Okular, GnoCHM, extract_chmLib, HelpBlocks, arCHMage
В Google Android: CoolReader, Moon+ Reader, Alreader
Описание расширения CHM
Популярность:
Раздел: Интернет, веб файлы
Разработчик: Microsoft
Расширение CHM используется для скомпилированных HTML файлов справки Microsoft и является собственным (проприетарным) форматом Microsoft, выпущенный в 1997 году как замена формату HLP. CHM является аббревиатурой от английского Compiled Help Modules (Скомпилированные Модули Помощи). Этот формат используется в программе Microsoft HTML Help, стандартной справочной системе для платформы Windows, кроме тоже есть еще несколько сторонних программ.
Файл *.CHM представляет коллекцию HTML документов и других данных, таких как изображения и Java Script сжатых в один файл. Эти CHM файлы содержат ряд функций, например: содержание, индекс ключевых слов и полнотекстовый поиск.
Для создания файлов .CHM можно использовать бесплатные программы, например, Htm2Chm и Microsoft HTML Help Workshop.
Известны проблемы, когда CHM файлы не открываются в Windows, их можно попробовать решить так:
— Если CHM файлы располагаются на сетевом диске, тогда его необходимо скопировать к себе на жесткий диск C и только затем открывать.
— Если в имени файла CHM есть кириллица и специальные символы, то тоже возможны проблемы при открытии. Тогда надо переименовать, чтобы в названии были только латинские буквы.
— Если файлы CHM вообще не открываются на вашем компьютере, тогда попробуйте удалить hh.dat в каталоге «C:\Documents and Settings\%username%\Application Data\Microsoft\HTML Help\». Файл hh.dat заново создается при запуске справочной системы Microsoft HTML Help.
— Возможно в системе установлен старый hhctrl.ocx, тогда вам надо найти новый hhctrl.ocx, например, из последнего установленного сервис пака и поместить в C:\Windows\system32\hhctrl.ocx, затем в командной строке (cmd.exe) написать
regsvr32 C:\Windows\system32\hhctrl.ocx
MIME тип: application/vnd.ms-htmlhelp
HEX код: 49 54 53 46
ASCII код: ITSF
Другие программы, связанные с расширением CHM
- Файл химической структуры ChemDraw от CambridgeSoft Corporation
Расширение файла CHM связано с химическим форматом данных, используемым в программном обеспечении для химии – ChemDraw. Формат CHM – это устаревший формат ChemDraw, который использовался в версиях до 4.0. Начиная с версии 4.0 ChemDraw использует расширение .CDX.
MIME тип: chemical/x-chemdraw
Относится к разделу Другие файлы.
Популярность:
- Файл анимации Two Worlds 2 от Reality Pump
Расширение CHM связано с ролевой компьютерной игрой Two Worlds 2 (MMORPG). Файл CHM содержит анимацию модели костей. Файлы анимации используются только для внутренних целей игры Two Worlds 2.
Относится к разделу Игры.
Популярность:
- Входной файл химической почвы SWAT от Grassland, Soil & Water Research Laboratory
Расширение файла CHM связано с SWAT (утилита оценки почвы и воды). Файл содержит информацию о начальных питательных свойствах почты и уровней пестицидов в ГРУ (HRU).
Относится к разделу Другие файлы.
Популярность:
Некоторые особенности формата CHM
Формат CHM, благодаря переходу выпуска журналов IZone на этот формат, знают теперь все читатели. Однако не все знают некоторые его особенности, которые необходимо учитывать при изготовлении документов в этом формате.
Известно ли Вам, что номера журналов IZone 505 и 506, в отличие от всех других номеров, прочитало меньшее количество постоянных читателей? Эти номера не прочитали все те, у кого на компьютере стоит пока ещё английская, немецкая, либо какая-либо прочая (кроме русской) версия Windows98 или Me. Число таких «несчастных», вероятно, довольно велико по трём причинам: во-первых, английские версии указанных ОС всегда считались более стабильными; во-вторых, много наших соотечественников живут за рубежом и в третьих, не все ещё перешли на Windows XP. Причиной такого «безобразия» явилось то, что названия папок, в которых лежат файлы журнала, написаны русскими буквами. В этом случае, при попытке открытия статей, выводится та самая страница, которую Вы видете в браузере, когда пытаетесь попасть в интернете на не существующий сайт. Причём причина этого явления связана именно с реальными папками, в которых лежат файлы, и с которыми работает компилирующая программа. А вот названия папок, какие Вы видете в левом окне готового CHM-файла могут ничего общего с реальными папками не иметь и могут быть русскими.
Кстати, с не русскими версиями Windows связана ещё одна проблема. Все русские названия папок и документов в левом окне файла CHM представляют собой нечитаемые кракозябры. И ничего поделать с этим нельзя. Однако существует одна лазейка, которая позволяет всё-таки увидеть в левом окне файла русские буквы. Для этого файл CHM должен быть скомпилирован только с одной левой закладкой оглавления, т.е. без закладок поиска, ключевых слов и избранного. На это следует обратить внимание создателям файлов помощи для своих программ. Если объём такого файла не велик, то нет никакого смысла во всех прочих закладках, кроме закладки оглавления. Результатом явится читаемость этого оглавления в любых версиях Windows. Кстати, закладка избранного в IZ тоже имеет мало смысла, точно так же как и правильно отсутствующая закладка поиска.
В случае большого объёма информации, компилируемой в CHM-файл, важнейшую роль приобретает закладка поиска. Эта закладка может быть простой, в виде всего двух полей — для ввода слов и для вывода результатов, а также сложной — с дополнительными опциями поиска. К сожалению, при наличии этих самых дополнительных опций, увидеть русские буквы в поле вывода результатов в указанных выше не русских версиях Windows становится невозможным. В случае закладки простого вида и при условии установленных параметров русского языка и шрифта в проекте компилирующей программы (HTML Help Workshop), становится возможным увидеть русские буквы как в поле ввода, так и в поле вывода в любой версии Windows.
Всё, что я рассказал выше, для владельцев русских версий Windows и тем более XP не актуально, но разработчики качественных, особенно многоязычных программ и соответственно файлов помощи к ним, должны эти особенности знать.
На самом деле, у меня сейчас есть проблема, о которой я постоянно думаю – это получение оборотных средств. Однако большие суммы, иногда столь необходимые нам, могут быть предоставлены банком только при наличии какого-то имущества, которое будет гарантией возврата средств. Поэтому достаточно распространенной сейчас является практика выдачи кредита под залог квартиры. Разумеется, сумма такого кредита может быть значительно больше, чем под залог автомобиля или вовсе без залога. Поэтому мне предстоит решить, удовлетвориться ли суммой предлагаемой мне под залог машины или же все-таки оформить кредит под залог квартиры… Что-то мы отвлеклись, вернемся к нашей теме.
Напоследок я расскажу Вам как можно упаковать все скачанные Вами журналы в один сборник. Я вероятно не один такой, кому жалко удалить с компьютера любой файл, скачанный с сети. Когда в папке Downloads их скапливается слишком много, приходится их сортировать по тематическим папкам, а затем переписывать на CD, но то, что оказалось на CD, возвращается на компьютер и используется в очень редких случаях. Точно также скапливались у меня скачанные журналы IZone. Поскольку заниматься этим делом я начал очень давно, то папка с никак не используемыми zip-архивами журналов постепенно разрослась до огромных размеров. Вот тогда-то мне и попалась на глаза программа HTML Help Workshop, с помощью которой я упаковал все имевшиеся у меня выпуски в один файл. Получилась своеобразная компьютерная энциклопедия. С тех давних пор я периодически добавлял новые скачанные номера в свою подшивку, используя один лишь HTML Help Workshop. Так всё продолжалось до того момента, пока журнал не перешёл на формат CHM. Если в прежних выпусках был всего лишь единственный индексный файл, то теперь должны были быть проиндексированы все HTML-файлы выпуска. Вручную это делать нереально, поэтому была испробована, с давних пор хранящаяся на CD, программа FAR HTML. Программа отличная, но при индексировании в ней выявились два недостатка, во-первых она не может правильно воспринять файлы, название которых начинается с кавычек, а также те, в названии которых есть какой-нибудь тэг, а во-вторых, статьи в каждой папке расставляются ею по алфавиту, причём сначала по латинскому, а затем по русскому, что не всегда соответствует оригиналу. Другие программы я не стал испытывать, а поступил следующим образом. Поскольку при декомпиляции мы получаем готовые файлы содержания, которые называются Table of Contents.hhc, то оказывается очень просто добавлять содержание этих файлов в конец рабочего файла при помощи любого текстового редактора. Таким образом можно очень легко добавлять к имеющемуся архиву новые номера, пользуясь только HTML Help Workshop и простым текстовым редактором.
Так как при этом необходимо выполнять некоторые дополнительные операции, я расскажу пошагово, как всё необходимо делать.
- Разумеется начать нужно с инсталляции HTML Help Workshop.
- Создайте у себя на диске новую папку для проекта с названием, например izone.
- Распакуйте в эту папку все журналы, которые Вы хотите объединить в сборник, причём каждый журнал в папку с названием, соответствующим названию архива. В любом приличном архиваторе сделать это очень просто.
- В те папки, в которых оказались файлы CHM, декомпилируйте их содержание при помощи HTML Help Workshop. Для этого в меню File выберите Decompile…, а затем в верхнем окне найдите нужную папку, а в нижнем окне – нужный файл CHM и кликните OK.
- Из-за описанной выше проблемы с русскими шрифтами, переименуйте все папки, носящие русские названия в журналах izone505 и izone506 на следующие: Hardware, Internet, Images, Software, System, Other, We recommend и Work with journal.
- Обычно считается пользование программой HTML Help Workshop делом сложным из-за необходимости первоначального создания проекта при помощи довольно сложного «английского» ассистента. Однако можно избежать этой процедуры. Создайте, например в блокноте, а затем положите в папку izone файл izone.hhp следующего содержания
[OPTIONS]
Compatibility=1.1 or later
Compiled file=izone.chm
Contents file=Table of Contents.hhc
Default Font=,8,204
Display compile progress=No
Full-text search=Yes
Language=0x419 Russisch - Теперь в каждой папке, в которой оказались декомпилированные журналы, откройте при помощи любого текстового редактора, способного производить поиск и замену сразу по всему содержанию (например, я рекомендую Bred), файл Table of Contents.hhc и прозведите следующую замену по всему тексту:
<PARAM name=»Local» value=»
замените на
<PARAM name=»Local» value=»izone516/
Здесь приведён пример для папки izone516, но разумеется для каждой будет своё название. - Переложите из самой первой папки с декомпилированными журналами файл Table of Contents.hhc в общую папку проекта
- Теперь по очереди заходите в каждую из папок, открывайте в редакторе файлы Table of Contents.hhc и, копируя их содержание от первого тэга <UL> до последнего тэга </OBJECT> включительно, переносите это содержание по очереди в файл Table of Contents.hhc, находящийся в общей папке. Вставлять необходимо в самый конец, т.е. перед тэгом </BODY>. Когда всё перенесёте, подтвердите изменения.
- Запустите файл izone.hhp. Если Вы до сих пор всё делали правильно, то откроется программа HTML Help Workshop, в которой будут две нужные нам закладки: Project и Contents, третью закладку, под названием Index, не трогайте. В закладке Project нажмите вторую сверху кнопку, откроется окно с названием Topic files. В этом окне найдите и выберите все индексные файлы журналов до номера 504 и все HTM-файлы журналов начиная с номера 505 и подтвердите OK.
- Перейдите на закладку Contents и создайте для каждого журнала свою общую папку с названием, например izone516 для номера 516. Для этого сначала отмаркируйте верхнюю папку, а затем жмите кнопку с изображением папки, ответьте утвердительно и вводите в следующем окне название папки, нажав OK, получите новую папку. Затем маркируйте каждый последний документ каждого журнала и создавайте всем им соответствующие папки. Когда всё будет готово, приведите структуру папок и документов каждого журнала к виду, соответствующему оригиналу при помощи кнопок со стрелками. Посмотреть, с каким файлом связана каждая запись, можно, отмаркировав её, нажать на изображение карандаша. Там же на закладке Advanced можно поменять изображение символа. Если Вы собираете в сборник также журналы и до 504 номера, то просто создайте для каждого номера свою папку и свяжите её с соответствующим индексным файлом.
- Всё готово? Переходите на закладку Project и жмите нижнюю кнопку. Компиляция началась! В ходе компилирования в правом окне могут выводиться обнаруженные ошибки. Если среди них отсутствуют ошибки HHC5003, свидетельствующие об отсутствии файлов, то всё нормально. Через некоторое время Вы получите в папке izone нужный Вам файл. Поздравляю!
Описать это было труднее, чем сделать, на самом деле ничего сложного нет.
HTML-справка Microsoft (.chm) в формате
HTML-формат справки Microsoft (.chm)Предисловие
Это документация по формату .chm, используемая справкой Microsoft HTML. Этот формат был перепроектирован в прошлом, но насколько я знаю, что это первая свободно доступная документация по нему. Один Сообщение Usenet указывает, что эти файлы .chm на самом деле являются IStorage файлы, документированные в Microsoft Platform SDK. Тем не менее, я не смог найти такую документацию.
Примечание
Слово «раздел» сильно перегружено в этом документе. Сожалею о который.
Все числа указаны в шестнадцатеричном формате, если в текст. За исключением табличных списков, это будет указано $ или 0x в зависимости от ситуации. Все значения в файле являются байтами Intel порядок (little endian), если не указано иное.
Общий формат файла .chm
Файл .chm начинается с короткого ($ 38 байт) начального заголовка. Это сопровождается таблицей раздела заголовка и смещением к содержание.В совокупности это и есть «заголовок».
Заголовок сопровождается разделами заголовка. Есть два заголовка разделы. Один заголовок раздела является каталогом файлов, другой содержит длину файла и некоторые неизвестные данные. Сразу после заголовок разделов — это содержание.
Заголовок начинается с исходного заголовка, который имеет следующий формат
0000: символ [4] 'ITSF' 0004: DWORD 3 (номер версии) 0008: DWORD Общая длина заголовка, включая таблицу разделов заголовка и следующие данные.000C: DWORD 1 (неизвестно) 0010: DWORD метка времени. Рассматриваемый как DWORD с прямым порядком байтов, он содержит секунды (MSB) и доли секунды (второй байт). Третий и четвертый байты могут содержать еще более дробные биты. 4 младших бита в последнем байте постоянная. 0014: DWORD Windows Language ID. Два, которые я видел 0409 долл. США = LANG_ENGLISH / SUBLANG_ENGLISH_US 0407 долл. США = LANG_GERMAN / SUBLANG_GERMAN 0018: GUID {7C01FD10-7BAA-11D0-9E0C-00A0-C922-E6EC} 0028: GUID {7C01FD11-7BAA-11D0-9E0C-00A0-C922-E6EC}
Примечание: GUID составляет 10 байт, расположенных как 1 DWORD, 2 WORD и 8 BYTE.
За ним следует таблица разделов заголовка, в которой 2 записи, где каждая запись имеет длину 10 байт и имеет следующий формат:
0000: QWORD смещение раздела от начала файла 0008: QWORD Длина секции
После таблицы заголовков раздел 8 дополнительных байтов заголовка данные. В файлах версии 2 эти данные отсутствуют, а содержимое раздел начинается сразу после каталога.
0000: смещение QWORD в файле раздела содержимого 0
Заголовок Раздел 0
Этот раздел содержит общий размер файла, и больше ничего
0000: DWORD $ 01FE (неизвестно) 0004: DWORD 0 (неизвестно) 0008: размер файла QWORD 0010: DWORD 0 (неизвестно) 0014: DWORD 0 (неизвестно)
Заголовок Раздел 1: Список каталогов
Центральная часть.CHM файл: каталог файлов и информация о нем содержит.
Заголовок каталога
Каталог начинается с заголовка; его формат выглядит следующим образом:
0000: символ [4] 'ITSP' 0004: DWORD Версия № 1 0008: DWORD Длина заголовка каталога 000C: DWORD $ 0a (неизвестно) 0010: DWORD $ 1000 Размер фрагмента каталога 0014: DWORD "Плотность" раздела быстрой ссылки, обычно 2. 0018: DWORD Глубина дерева индексов 1 нет индекса, 2, если есть один уровень PMGI ломти.001C: номер чанка DWORD чанка корневого индекса, -1, если его нет (хотя по крайней мере один файл имеет 0, несмотря на отсутствие Индексный чанк, вероятно, ошибка.) 0020: номер фрагмента DWORD первого фрагмента PMGL (в списке) 0024: номер фрагмента DWORD последнего фрагмента PMGL (листинга) 0028: DWORD -1 (неизвестно) 002C: DWORD Количество фрагментов каталога (всего) 0030: DWORD Windows языковой идентификатор 0034: GUID {5D02926A-212E-11D0-9DF9-00A0C922E6EC} 0044: DWORD $ 54 (снова длина) 0048: DWORD -1 (неизвестно) 004C: DWORD -1 (неизвестно) 0050: DWORD -1 (неизвестно)
Листинг листинга
За заголовком непосредственно следуют куски каталога.Есть два типы чанков каталогов — индексные чанки и списки чанков. Индексный чанк будет опущен, если имеется только один листинговый чанк. листинг чанка имеет следующий формат:
0000: символ [4] 'PMGL' 0004: DWORD Длина свободного пространства и / или области быстрой ссылки в конце кусок каталога 0008: DWORD Всегда 0. 000C: DWORD Номер чанка предыдущего чанка листинга при чтении каталог в последовательности (-1, если это первый блок листинга) 0010: номер фрагмента DWORD следующего фрагмента списка при чтении каталог в последовательности (-1, если это последний блок листинга) 0014: Каталог, содержащий записи (в область быстрого доступа) Сортировка по имя файла; сортировка не зависит от регистра.
Область быстрой ссылки записывается в обратном направлении от конца фрагмента. Один Быстрая ссылка существует для каждого n записей в файле, где n рассчитывается как 1 + (1
Chunklen-0002: WORD Количество записей в чанке Chunklen-0004: WORD Смещение записи n от записи 0 Chunklen-0006: WORD Смещение записи 2n от записи 0 Chunklen-0008: WORD Смещение записи 3n от записи 0 ...
Формат записи каталога:
ENCINT: длина имени БАЙТЫ: имя (в кодировке UTF-8) ENCINT: раздел контента ENCINT: смещение ENCINT: длина
Смещение от начала раздела содержимого файла в, после того как секция была распакована (при необходимости). длина также относится к длине файла в разделе после распаковки.
В каталоге представлены два вида файлов: пользовательские данные и форматировать связанные файлы. Файлы, связанные с форматом, имеют имена, начинающиеся с с ‘::’ файлы данных пользователя имеют имена, которые начинаются с «/».
Индекс Чанк
Индексный чанк имеет следующий формат
0000: символ [4] 'PMGI' 0004: DWORD Длина быстрой ссылки / свободной области в конце фрагмента каталога 0008: записи каталога указателей (для быстрой ссылки / свободной области)
Область быстрой ссылки в PMGI такая же, как в PMGL
Формат записи указателя каталога следующий
ENCINT: длина имени БАЙТЫ: имя (в кодировке UTF-8) ENCINT: список каталога, который начинается с имени
Когда существуют индексы более высокого уровня (когда глубина дерева индексов равна 3 или выше), предположительно, индексы верхнего уровня будут содержать числа индексных блоков более низкого уровня, а не списков
Кодированные целые числа
ENCINT — это целое число переменной длины.Старший бит каждого байта указывает «продолжение до следующего байта». Байты хранятся больше всего значимым до наименее значимым. Так, например, $ EA $ 15 это (((0xEA & 0x7F) << 7) | 0x15) = 0x3515.
Содержание
В версии 3 контент обычно сразу следует за заголовком разделы, и находится в месте, указанном DWORD после заголовок раздела таблицы. В версии 2 сразу следует содержимое заголовок Все разделы 0 содержимого в каталоге относятся к этому точка.Другие разделы содержимого хранятся в разделе содержимого 0.
Файл списка имен
В разделе содержимого 0 и в каталоге есть файл с именем «:: DataSpace / список имена». Этот файл содержит имена всех содержание разделов. Формат выглядит следующим образом:
0000: WORD Длина файла, прописью 0002: WORD Количество записей в файле Каждая запись: 0000: WORD Длина имени в словах, исключая завершающий ноль 0002: WORD Двухбайтовые символы хххх: СЛОВО 0
Да, имена имеют длину слова И заканчиваются нулями; своего рода Пояс и подтяжки.Система кодирования, скорее всего, UTF-16 (little-endian).
Названия разделов, которые вы видели до сих пор:
- без сжатия
- MSCompressed
«Несжатый» говорит само за себя. Раздел «MSCompressed» есть сжатый с помощью алгоритма Microsoft LZX.
Данные секции
Для каждого раздела, кроме 0, существует файл с именем ‘:: DataSpace / Storage / <Имя раздела> / Content’. Этот файл содержит сжатые данные для раздела.Итак, концептуально, получение файла из ненулевого раздела — это многошаговый процесс. Первый вы должны получить файл содержимого из раздела 0. Затем вы распаковываете (если соответствующий) раздел. Затем вы получаете нужный файл из распакованного раздела.
Другие файлы, связанные с форматом раздела
Есть несколько других файлов, связанных с разделами
- :: DataSpace / хранение / <имя раздела> / ControlData
Этот файл содержит 20 байт информации о сжатии.Информация частично известна:
0000: DWORD Количество DWORD, следующих за 'LZXC', должно быть 6, если версия - 2 0004: ASCII 'LZXC' Идентификатор типа сжатия 0008: версия DWORD (должно быть
Интервал сброса, размер окна и размер кэша указаны в байтах, если версия 1, $ 8000-байтовые блоки, если версия 2.
- :: DataSpace / Storage /
/ SpanInfo Этот файл содержит четырехзначное слово, содержащее несжатую длину секция.
- :: DataSpace / Storage /
/ Преобразование / Список Похоже, этот файл должен был содержать список идентификаторов GUID, принадлежащих методам распаковки (или иного преобразования) раздела.Тем не менее, он на самом деле содержит только половину строкового представления GUID, по-видимому, потому что он был рассчитан на символы, но содержит широкие символы.
Приложение: Сжатие
Сжатые секции сжимаются с использованием LZX, сжатия Метод Microsoft также использует для своих кабинетных файлов. Чтобы убедиться в этом, проверьте второй DWORD информации о сжатии в файле ControlData для раздел — это должно быть ‘LZXC’. Чтобы распаковать, сначала прочитайте файл «:: DataSpace / хранение / <имя раздела> / Transform / {7FC28940-9D31-11D0-9B27-00A0C91E9C7C} / InstanceData / Сбрасываемая».Эта таблица сброса имеет следующий формат
0000: DWORD 2 неизвестен (возможно, номер версии) 0004: DWORD Количество записей в таблице сброса 0008: DWORD 8 Размер записи в таблице (в байтах) 000C: DWORD $ 28 Длина заголовка таблицы (область перед записями таблицы) 0010: длина QWORD без сжатия 0018: сжатая длина QWORD 0020: размер блока QWORD 0x8000 для расположений ниже 0028: QWORD 0 (нулевая запись в таблице) 0030: расположение QWORD в сжатых данных 1-й границы блока в несжатые данные Повторите до конца файла
Теперь вы можете, наконец, получить раздел (из его файла содержимого). Размер окна для сжатия LZX составляет 16 (десятичный) для всех файлов видел до сих пор. Это указано DWORD в $ 10 в ControlData файл (но обратите внимание, что DWORD дает размер окна в блоках 0x8000, не код LZX для размера окна)
Правило о том, что входной битовый поток должен быть выровнен по 16-битной границе после того, как выходные символы $ 8000 были обработаны, действует, несмотря на это LZX не является частью CAB-файла. Таблица сброса говорит Вы, когда это было сделано, хотя в этом нет необходимости во время декомпрессии; Вы можете просто отслеживать количество выходных персонажи.Кроме того, хотя это не представляется документированным в формате LZX несжатый поток дополняется до 8000 долларов граница байта.
Существует одно изменение от LZX, как определено Microsoft: после каждого Интервал сброса LZX (определяется в файле ControlData, но в практика равна размеру окна) сжатых данных обработано, состояние LZX полностью сброшено, как будто совершенно новый файл был закодирован Это позволяет полу-случайный доступ к сжатым данные; Вы можете начать чтение на любой границе интервала сброса, используя размер интервала сброса и таблица сброса.
Примечание:
В более ранних версиях этого документа указывалось, что только интервал сброса
сбросить таблицы Хаффмана и требуется вывести 1-битный заголовок
очередной раз. Это было ошибочным. Состояние Lempel Ziv также сбрасывается. В
На практике декодер работает так же хорошо с неверным предположением,
но кодирование файла с позициями совпадения, которые относятся ко времени до
последний сброс LZX вызывает сбои при декодировании.
Благодарности
Следующие люди (без определенного порядка) отправили информация, которая помогла исправить и закрыть пробелы в этом документ.
- Питер Ферри (peter_ferrie на hotmail.com) Веб-сайт
- Pabs (pabs at zip.to), который также запускает страницу спецификации CHM.
И других я не смог достичь.
Copyright 2001-2003 Мэтью Т. Руссотто
Вы можете свободно копировать и распространять неизмененные копии этого файла, или копии, где единственной модификацией является изменение конца строки, заполнение после конечного тега html, системы кодирования или любой комбинации его.Оригинал в формате ASCII с окончанием строки Unix.
,CHM: спецификация и пример восстановления CHM
CHM-файлы справки Microsoft начинаются с подписи ITSF (символы «I», «T», «S», «F» или байты 0x49, 0x54, 0x53, 0x46).
За исключением подписи, он начинается с короткого начального заголовка (56 байт). Затем следует таблица заголовка раздела и смещение к содержанию.
Версия файла находится в начальном заголовке — четыре байта со смещением 3, порядок с прямым порядком байтов.Начальный размер заголовка определяется по смещению 8: 4 байта, порядок с прямым порядком байтов (сначала младший байт). Рядом с исходным заголовком находится заголовок раздела 0. Он имеет подпись 0x01 0xFE и общий размер файла CHM. расположен в смещении 8 в этом разделе заголовка, 4 байта, порядок с прямым порядком байтов.
Давайте рассмотрим пример
При проверке двоичных данных файла example.chm с помощью любого Hex Viewer, например Active @ Disk Editor, мы видим, что он запускается с подписью ITSF (гекс: 49, 54, 53, 46).Проверка версии подтверждает, что это действительный файл CHM v. 3 (4 байта со смещением 4: 0x03). Общий размер начального заголовка составляет 96 байтов (4 байта со смещением 8, младший порядок, шестнадцатеричный код: 60 00 00 00). Рядом с начальным заголовком мы видим Раздел заголовка 0, начиная с подписи 0xFE 0x01. Общий размер файла CHM составляет 815 211 байт (6B 70 0C в шестнадцатеричном формате), четыре байта, порядок с прямым порядком байтов, со смещением 8 в разделе (или смещением 0x68 от начала файла).
Таким образом, считывание всех 815 211 последовательных байтов, начиная с позиции обнаруженного ITSF заголовок предоставляет нам все данные файла CHM, при условии, что файл не фрагментирован.
Начальный заголовок файла CHM:
смещение | размер | описание |
---|---|---|
0 | 4 | Подпись, должна быть 49, 54, 53, 46 hex («ITSF») |
4 | 4 | версия файла справки Microsoft CHM, в большинстве случаев 3 |
8 | 4 | общий начальный размер заголовка |
12 | 4 | должен быть один |
16 | 4 | Метка времени, DWORD с прямым порядком байтов, содержит секунды (MSB) и доли секунды (второй байт). |
20 | 4 | идентификатор языка Windows, например 0x0409 = LANG_ENGLISH / SUBLANG_ENGLISH_US |
24 | 16 | GUID: 7C01FD10-7BAA-11D0-9E0C-00A0-C922-E6EC |
40 | 16 | GUID: 7C01FD11-7BAA-11D0-9E0C-00A0-C922-E6EC |
Заголовок Раздел 0: | ||
0 | 4 | Подпись, должна быть шестнадцатеричной: 01 FE |
4 | 4 | должно быть ноль |
8 | 8 | CHM размер файла, порядок байтов |
Active @ File Recovery Пример пользовательских сценариев
В этом примере выполняются некоторые проверки правильности параметров заголовка CHM, помимо простого извлечения размера файла.Синтаксис языка определения подписи вы можете прочитать здесь.
[CHM_HEADER] DESCRIPTION = Microsoft CHM Help РАСШИРЕНИЕ = CHM НАЧАТЬ = CHM_BEGIN SCRIPT = CHM_SCRIPT [CHM_BEGIN] ITSF = 0 | 0 [CHM_SCRIPT] версия = читать (dword, 4) if (версия == 0) перейти к выходу заголовок = прочитано (dword, 8) if (header <= 1Ch) перейти к выходу temp = read (qword, header) если (temp! = 1FEh) перейти к выходу temp = сумма (заголовок, 8) размер = чтение (слово, темп) temp = сумма (заголовок, 10 часов) if (size> temp) перейти к выходу размер = 0,