WinHelp


Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser winhelp.exe or winhlp32.exe. The file format is based on Rich Text Format. It remained a popular Help platform from Windows 3.0 platform through Windows XP. WinHelp was removed in Windows Vista purportedly to discourage software developers from using the obsolete format and encourage use of newer help formats.

History

A WinHelp file has a ".hlp" suffix. It can be accompanied by an optional table of contents file if the help developer created one. When Windows opens a WinHelp file, it creates a.gid file in the same directory or in "%LOCALAPPDATA%\Help", containing information about the.hlp file such as the window size and location. If the user clicks the "Find" tab and enables keyword indexing, Windows creates an index file with a.fts extension. Annotations and bookmarks for each Windows help file have the extension ".ann" and ".bmk".
A number of software tools can decompile a WinHelp file into its source documents: HPJ, CNT, RTF, BMP, and SHG. An HPJ file is the project file that is created and edited in the Help Workshop. The HPJ contains information about what RTF files to compile into the help, the MAP IDs and Aliases that provide links from a calling application to the help file, and help file appearance. The CNT file provides the table of contents for the help file. An SHG file is a "SHED" graphics file that essentially creates an image map of help calls for a graphic file.
A number of tools can read and explore these files.
.hlpDescription
.hpjproject file ; contains a list of all.rtf files to compile into the.hlp file and some additional information
.cntTable of Contents file.
.rtfactual text content in Rich Text Format-format
.bmp.dib.wmf.shgpicture-files in various formats:.bmp or.dib,.wmf.shg
.fts.ftgFull Text Search; used for searching through the text of help documents
.annfile with annotations
.bmkfile with bookmarks

WinHelp appearance and features

Depending on how it has launched and what settings the Help author chose, a WinHelp file opens either to its default topic, its table of contents, or its index.
A topic in a WinHelp file opens in a separate window, in a size and initial position that the Help author may choose. Users can resize or reposition the window. The Help author can control whether the Help file stores the user's settings between sessions, or always opens in the default size and position.
When a topic is open, a title bar at the top of the Help window displays the topic title. Below that is a row of menus, which control various aspects of the file. A row of buttons usually appears below the menus. The Help author controls which buttons, if any, appear. Typical buttons include Contents, Index, Back, and Print, along with << and >> buttons to browse through the file. Help authors can also create custom buttons to jump to specific topics or perform other actions.
Below the buttons is the main text area of the window. Typically, the text begins with a heading, often bold or in a larger font than the rest of the text. This heading may sometimes be in a non-scrolling region—an area of the window that does not move up or down via the scrollbar at the side of the window. Non-scrolling regions can only be used at the beginning of a topic. The Help author can control size and background color of a non-scrolling region.
Help authors can also control the background color of the main text area, where the actual text of the topic appears. This text can be formatted and arranged in many ways. Within the text, jumps appear as green text with a single underline. Single-clicking on a jump opens a different topic. Some jumps may open secondary Help windows to display information. Popups appear in the text as green text with a dotted underline. Single-clicking on a popup opens a small window with no menus, buttons, or scrollbars, sized to fit the text. Often, popups provide short definitions of key terms or other supplemental information about the main text. The popup automatically disappears the next time the user clicks or presses a key.
Many, though not all Help topics have See Also jumps at the end of the text. Depending on the Help author's preference, this feature may be a simple list of jumps under the heading See Also, or it may be a small button that, when clicked, brings up a dialog box displaying all the relevant topics. Clicking on the name of a topic in that dialog box then clicking Display opens that topic.
Most Help files also contain a table of contents and an index to help users locate information. These appear in a separate, tabbed window. Clicking on the Contents tab opens the table of contents, in which users can click on headings to see the topics. Often, headings are marked with icons that look like small books and the topics have icons that look like pages. Double-clicking on a topic opens that topic. Clicking on the Index tab opens the index, which has a typing field and an alphabetical keyword list. Typing in the typing field automatically scrolls the list of keywords to the closest match. Double-clicking on a keyword displays the topic associated with that keyword or brings up a list of all topics associated with it. The index is important in helping users locate information. Sometimes Help files also have a Find tab, which lets the user search for any word used in the text of the file, not just for keywords.
WinHelp also supports a feature known as context-sensitive help. Context-sensitive help is assistance that is appropriate to where the user is in the software application, and what they are trying to do.
A rather security critical feature is that one can also include a DLL file containing custom code and associating it with WinHelp topics. Effectively this makes.HLP files equivalent to executables.

End of support

At the 2006 WritersUA conference, Microsoft announced its intentions to phase out WinHelp as a supported platform. Ted Dworkin stated, "WinHelp does not meet the code standards established for Vista. These standards include security, reliability, and performance." He went on to say that WinHelp is designed in such a way that, "...we would have to rewrite it from the ground up to meet the Vista code standards. And that approach doesn't make sense given that we have two other Help systems in Vista."
The updated licensing agreement prohibits application developers from packaging the WinHelp libraries with their installers. This means that WinHelp manuals for legacy applications are not readable on a new Windows Vista installation. To read them, the end-user must obtain the 32-bit WinHelp viewer from Microsoft's website and manually install it.
Starting with Windows 10 Microsoft does not offer WinHelp viewer for this version. The last version of Windows on which it was possible to open WinHelp files, using an official downloadable component by Microsoft, is Windows 8.1. The open-source version of winhlp32 from Wine also works on Windows 10. It is included as part of WineVDM.

Other documentation file formats

Although documentation can be maintained entirely in a vendor-specific presentation format such as WinHelp, it is more often the case that documentation must be published in multiple presentation formats at once: Microsoft Compiled HTML Help, WinHelp, HTML pages, Java Help, PDF, etc. It would be very expensive and error-prone to maintain each format separately.
For this reason, authors often maintain documentation in an industry-standard, vendor-neutral authoring format—such as DocBook or FrameMaker—that can be used to generate several different presentation formats. Various presentation files thus produced contain consistent content because they were generated from the same source.