HTML Help (HH) (Preliminary) Unofficial Specification

This version (2002-?-?)
http://bonedaddy.net/pabs3/hhm/chmspec/2002-?-?/
Latest version
http://bonedaddy.net/pabs3/hhm/chmspec/latest/
Formats
DocBook source archive (ZIP), DocBook source archive (TAR), HTML, HTML archive (ZIP), HTML archive (TAR), GNU Info archive (TAR), PDF, CHM, Debian DocBook src package,
Editor(s)
Pabs <pabs@zip.to>
Authors
See author list

Copyright © 2002 Pabs et al., All Rights Reserved.


Abstract

This is documentation on MS' current generation of help systems (HTML Help). HTML Help is a documentation system from MS that relies on HTML, XML and a filesystem that is used in storing multiple HTML & other files in a single file and involves LZX compression.

Status of this document

This is the initial release of this unofficial specification document. It is being released to gather feedback and further information on the current knowledge base relating to MS' help formats and systems.

This is an unofficial document produced by people not employed by MS without the permission or knowledge of MS. We hope that MS can see the value in this exercise and restrain their lawyers.

Every effort has been made to document each bit of the relevant formats and ensure that the documentation is accurate. However this effort is not yet complete and help is still needed to find meaning amongst the bits.

It is our hope that, in time, the documentation will be complete and, with luck, work may begin on the documentation of MS' other help systems.

Dedication

This specification is dedicated to the humble NDA, which poked RMS enough to start GNU and trigger a whole new generation of innovation.

It is also dedicated to paranoid proprietary software authors for indirectly training reverse engineers worldwide.

Table of Contents

Chapters

  1. About the Specification
  2. Introduction
  3. Features
    1. Menu
    2. Toolbar
    3. Navigation pane
      1. Contents
      2. Index
      3. Search
      4. Favourites
      5. Custom tabs
    4. Information types
    5. Text popups
    6. Context-sensitive help
    7. Subsets
    8. Samples
    9. Merged help
      1. Collections
      2. Merge Files
  4. Files
    1. Content
    2. Authoring
    3. Settings
  5. Formats
    1. ITSF format
    2. ITSF internal file formats
    3. CHS format
    4. XML formats
      1. COL format
      2. hhcolreg.dat format
    5. INI formats
      1. HTML Help Project (HHP) format
      2. HTML Help Samples (HHS) format
      3. SFL format
    6. Sitemap (HTML) formats
      1. HTML Help Contents (HHC) format
      2. HTML Help index (HHK) format
    7. Other formats
      1. Alias files
      2. Text popup files
      3. Header files
      4. Full text search stop list file (STP)
  6. Miscellaneous
    1. LZX compression
    2. GUIDs
    3. Implementations
    4. Optimisation
    5. MS Office Custom tabs
    6. HtmlHelp API
    7. ActiveX control API
    8. HH.exe command line
    9. Registry locations
    10. Undocumented HHW
    11. Links
    12. Help 2

Appendices

  1. Test suite