March 7, 2021
Hot Topics:

Using the Help API

  • By John Percival
  • Send Email »
  • More Articles »

A help system is becoming fundamental to the success of the software. It provides information on how to use your product, and can be easily integrated into the program. To author and compile your help file, you need to download the Help Compiler from Microsoft (download it from Winfiles), and another third party product to write the necessary RTF file. I use HelpScribble from JGSoft, which has a good user interface and is very easy to use.  Your help project is made up of several file types:

RTF This contains all of the text, references to pictures, and all the keywords. This is the heart of the help file before compilation.
HPJ The project (.hpj) file is a text file that is used to compile your Help file. The project file contains all the information that the compiler needs to combine topic (.rtf) files and other elements into a Help file.
CNT The contents file. This is distributed with the finished help file and is used by the Windows help engine to create the contents tree.
GID This is created when the help file is first opened. It contains binary representations of the contents file and positions of topics within the main help file enabling the help file to be opened quicker the next time.
FTS,FTG These contain the indexes of words and phrases created by the find tab.
BMP,SHG These are the bitmaps which are compiled into the final help file. SHG files are Segmented Hypergraphics which are like image maps: they are sensitive to which area the user clicks on, enabling you to link to different topics depending on where the user clicks.
HLP This is the compiled help file. You can select compression when you compile it, which reduces the file size considerably. You only need distribute this and the CNT file with your application.

To integrate the help file into your applications you need to use the hefty CommonDialog OCX to be able to use the features in VB . . . or do you? Using the Help API you can do the same things, and more, without a weighty OCX. You will need these declarations:

Page 1 of 5

This article was originally published on November 20, 2002

Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date