About help context numbers

<< Click to Display Table of Contents >>

Navigation:  Reference > Project Structure & Templates > Topic IDs, Context Numbers and Keywords >

About help context numbers

Help context numbers are a second unique numeric identifier for each topic (the first and main identifier is the topic ID). Unlike topic IDs context numbers are optional. You can use them if you want, but you don't have to.

Introduction:

Like topic IDs, context numbers can be viewed and edited in the Topic Options tab on the left of the main editor window. They are displayed in the Help Context Number: field. You can enter and edit them there, but they can also be assigned automatically. See Topic IDs and context numbers for details.

Help context numbers were originally introduced with the now obsolete Winhelp format as the main way of making application calls to help topics, and they are still supported in HTML Help CHM files. Many programmers and programming languages still use them but they have actually become less popular in recent years. Since they are numeric only they are not very "human-friendly" and it is quite easy for a programmer to make a call to the wrong help context number and not notice it.

Most modern programming languages can make calls directly to topic IDs in HTML Help without using context numbers at all, and this is now the preferred method. Topic IDs are alphanumeric and can be up to 255 characters long, which means that they can be descriptive and human-readable, which significantly reduces errors.

Help context number range:

Help context numbers are stored as unsigned 4-byte integers. This means you can enter values between 1 and 4294967295. This gives you nearly 4.3 billion unique numbers. If you have a project that requires more context numbers than this we would love to meet you and buy you a beer.

Context number are generally for HTML Help only:

Help context numbers are a Microsoft help technology and since the demise of Winhelp they are only used for application calls to HTML Help. They are not used for internal hyperlinks within your help project and are generally irrelevant in other output formats.

Support for context numbers in WebHelp URLs

However, Help+Manual does support the use of context numbers in URLs used as context references to WebHelp topics. You wouldn't want to use this as your primary reference method for WebHelp – normal topic IDs are human-readable easier to implement without errors – but this support may be useful if you are already using context numbers in CHM and want to use the same references for your WebHelp documentation. See here for details.

Context numbers in anchors:

In addition to context numbers in topics Help+Manual also allows you to assign help context numbers to anchors. This makes it possible to make direct context number application help calls to defined points within topics instead of just opening the topic at the top.

Compatibility and call syntax:

Help+Manual's HTML Help output is generated directly by the Microsoft HTML Help compiler and is 100% compatible with HTML Help standards. This also includes the format and syntax of the help context numbers. If your project contains help context numbers you can make calls to them with the standard syntax of the HTML Help API.

For details on making calls to help context numbers see the documentation included with the Microsoft HTML Help Workshop compiler package. In addition to this you can also find some useful weblink tutorials for programmerson the EC Software website that explain how to interface to HTML Help with range of common programming languages. If you use .NET languages see the weblink Guide to CHM Help in .NET on the excellent Helpware site.

See also:

Topic IDs and context numbers