WinHelp
Encyclopedia
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
(RTF). It remained a popular Help platform from Windows 3.0
platform through Windows XP
. WinHelp was removed in Windows Vista
to discourage software developers from using the obsolete format and encourage use of newer help formats.
A WinHelp file can also be decompiled, providing copies of its source documents (HPJ, CNT, RTF
, BMP
, SHG
), using a number of software tools. An HPJ file is the project file that is created and edited in the Help Workshop (or a third party help authoring tool). 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 (window size, default buttons, color schemes, etc.). 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 (e.g., a BMP).
There are number of tools which can read and explore these files (see for example Help to RTF, winhelpcgi).
Within the .rtf files, topics are separated by page breaks. Each topic will have a series of footnotes which contain information for the help compiler: # footnotes contain the topic ID (used to create links to that topic); $ footnotes contain the topic name as it will be displayed in the table of contents, index, and other locations; K footnotes contain keywords for the index; A footnotes contain See Also keywords; * footnotes contain build tags; + footnotes contain browse sequence information; and ! footnotes contain topic entry macros. Only the # footnote is required; all others are optional.
The text within each topic can contain limited types of formatting, including bold text, italics, and colors, etc. (Superscript and subscript are not allowed.) Jumps between topics in the same Help file usually appear in the source document as double-underlined text (green by default, although this can be overridden) followed by a topic ID in hidden text. Popup links appear in the source document as text with a single underline (also green by default) followed by a topic ID in hidden text. (In the .hlp file, the jumps will show up as green text with a single underline, and popups will show up as green text with a dotted underline.)
Images can be added using codes such as {bmc image.bmp}. Supported image formats include .bmp, .wmf, and .shg (used for image maps, which can contain jumps or popups that are triggered by clicking on specific parts of the image).
After the source files have been created, the help file can be compiled using a WinHelp compiler such as HCW.exe or by using a commercial software program such as RoboHelp
or HelpBreeze, most of which (included the two cited here) also use hcw.exe as the backend compiler.
A topic in a WinHelp file opens in a separate window, the size and initial position of which can be chosen by the Help author. Users can resize or reposition the window if they choose. The Help author can control whether the Help file will remember the user's settings between sessions or whether it will always open with its default size and position.
When a topic is open, a title bar at the top of the Help window displays the title that the Help author has given to the file. Below that is a row of menus
(File, Edit, Bookmark, Options, and Help) which can be used to 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 what's called a non-scrolling region - an area of the window which will not move up or down if the user moves the scrollbar at the side of the window. Non-scrolling regions can only be used at the beginning of a topic. If a non-scrolling region is used, the Help author can control the size and background color of it.
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 will appear as green text with a single underline
. Single-clicking on a jump will open a different topic. Some jumps may open secondary Help windows to display their information. Popups appear in the text as green text with a dotted underline. Single-clicking on a popup will open a small window with no menus, buttons, or scrollbars, sized to fit the text it contains. Often, popups are used to provide short definitions of key terms or other supplemental information about the main text. The popup will automatically disappear the next time the user clicks anywhere or presses any key.
Many, though not all, Help topics will 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 which, 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 will open that topic.
Most Help files also contain a Table of Contents and an Index to help users locate the information they need. These feature appear in a separate, tabbed window. Clicking on the Contents tab will open the Table of Contents, in which users can click on headings to see the topics available for them. Often the headings are marked with icons that look like small books, while the topics have icons that look like pages. Double-clicking on a topic (or clicking on a topic then clicking Display) will open that topic. Clicking on the Index tab will open the index, which has a typing field and an alphabetical list of keywords. Typing in the typing field will automatically scroll the list of keywords to the closest match for what you typed. Double-clicking on a keyword (or clicking on a keyword then clicking Display) will display the topic associated with that keyword (if there is only one) or bring up a list of all the topics associated with it (if there is more than one). The index is a very important tool in helping users locate the information they need. Sometimes Help files also have a Find tab, which allows the user to 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.
The updated licensing agreement prohibits application developers from packaging the WinHelp libraries with their installers. What this means is that WinHelp manuals for legacy applications will never be readable on a clean Windows Vista PC—in order to read them, the end-user must obtain the 32-bit WinHelp viewer from Microsoft's website and manually install it (which requires WGA "activation"
and an account with administrative rights).
will be offered after the RTM versions of these products are available to public.
pages, Java Help, PDF, etc. It would be very expensive and error-prone to maintain each format separately.
For this reason, documentation is often maintained in an industry-standard, vendor-neutral authoring format, such as DocBook
, from which several different presentation formats (including WinHelp) can be generated. All of the various presentation files thus produced (WinHelp or otherwise) will always be consistent with one another because all of them were generated from the same sources.
Online help
Online help is topic-oriented, procedural or reference information delivered through computer software. It is a form of user assistance. Most online help is designed to give assistance in the use of a software application or operating system, but can also be used to present information on a broad...
files that can be displayed by the Microsoft Help browser winhelp.exe or winhlp32.exe. The file format is based on Rich Text Format
Rich Text Format
The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....
(RTF). It remained a popular Help platform from Windows 3.0
Windows 3.0
Windows 3.0, a graphical environment, is the third major release of Microsoft Windows, and was released on 22 May 1990. It became the first widely successful version of Windows and a rival to Apple Macintosh and the Commodore Amiga on the GUI front...
platform through Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
. WinHelp was removed in Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
to discourage software developers from using the obsolete format and encourage use of newer help formats.
History
- 1990 - WinHelp 1.0 shipped with Windows 3.0Windows 3.0Windows 3.0, a graphical environment, is the third major release of Microsoft Windows, and was released on 22 May 1990. It became the first widely successful version of Windows and a rival to Apple Macintosh and the Commodore Amiga on the GUI front...
. - 1995 - WinHelp 4.0 shipped with Windows 95Windows 95Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
/ Windows NTWindows NTWindows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
. - 2006 - Microsoft announced its intentions to phase out WinHelp as a supported platform. WinHelp will not be a part of Windows VistaWindows VistaWindows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
out-of-the-box. WinHelp files come in 16 bit and 32 bit types. Vista treats these two files types differently. When starting an application which uses the 32 bit .hlp format, Windows displays a warning saying the format is not supported any more. A downloadable viewer for viewing 32 bit .hlp files is available from the Microsoft Download Center. The 16 bit WinHelp files continue to display in Windows Vista (32 bit only) without the viewer download. - October 14, 2009 - Microsoft announced the downloadability of Windows Help program (WinHlp32.exe) for Windows 7 at the Microsoft Download Center.
File format
A WinHelp file has a ".hlp" suffix. It can be accompanied by an optional table of contents (.cnt) file if the help developer created one. When Windows opens a WinHelp file, it creates a .gid file in the same directory, 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 (full text search) extension.A WinHelp file can also be decompiled, providing copies of its source documents (HPJ, CNT, RTF
Rich Text Format
The Rich Text Format is a proprietary document file format with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform document interchange....
, BMP
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...
, SHG
Segmented Hyper Graphics
A Segmented Hyper Graphics file is a computer image file that contains a bitmap and optionally a number of hotspots. This file format was developed for use in WinHelp files, and allowed the user to click on different parts of an image to jump to different topics in the help file...
), using a number of software tools. An HPJ file is the project file that is created and edited in the Help Workshop (or a third party help authoring tool). 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 (window size, default buttons, color schemes, etc.). 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 (e.g., a BMP).
There are number of tools which can read and explore these files (see for example Help to RTF, winhelpcgi).
Source files and compilation
The source files required to compile a .hlp file consist of one or more documents with the extension .rtf and a help project file with the extension .hpj, along with any image files (.bmp, .wmf, or .shg) that are used within the Help file. An optional Table of Contents file with the extension .cnt can also be created for use with the .hlp file.Within the .rtf files, topics are separated by page breaks. Each topic will have a series of footnotes which contain information for the help compiler: # footnotes contain the topic ID (used to create links to that topic); $ footnotes contain the topic name as it will be displayed in the table of contents, index, and other locations; K footnotes contain keywords for the index; A footnotes contain See Also keywords; * footnotes contain build tags; + footnotes contain browse sequence information; and ! footnotes contain topic entry macros. Only the # footnote is required; all others are optional.
The text within each topic can contain limited types of formatting, including bold text, italics, and colors, etc. (Superscript and subscript are not allowed.) Jumps between topics in the same Help file usually appear in the source document as double-underlined text (green by default, although this can be overridden) followed by a topic ID in hidden text. Popup links appear in the source document as text with a single underline (also green by default) followed by a topic ID in hidden text. (In the .hlp file, the jumps will show up as green text with a single underline, and popups will show up as green text with a dotted underline.)
Images can be added using codes such as {bmc image.bmp}. Supported image formats include .bmp, .wmf, and .shg (used for image maps, which can contain jumps or popups that are triggered by clicking on specific parts of the image).
After the source files have been created, the help file can be compiled using a WinHelp compiler such as HCW.exe or by using a commercial software program such as RoboHelp
RoboHelp
RoboHelp is a help authoring tool created by eHelp Corporation , acquired by Macromedia, which itself was then acquired by Adobe Systems.- Features :Technical writers use RoboHelp to create the following help files:...
or HelpBreeze, most of which (included the two cited here) also use hcw.exe as the backend compiler.
WinHelp appearance and features
Depending on how it has been launched and what settings the Help author has chosen, a WinHelp file will open either to its default topic, its Table of Contents, or its Index.A topic in a WinHelp file opens in a separate window, the size and initial position of which can be chosen by the Help author. Users can resize or reposition the window if they choose. The Help author can control whether the Help file will remember the user's settings between sessions or whether it will always open with its default size and position.
When a topic is open, a title bar at the top of the Help window displays the title that the Help author has given to the file. Below that is a row of menus
Menu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...
(File, Edit, Bookmark, Options, and Help) which can be used to control various aspects of the file. A row of buttons
Button (computing)
In computing, a button is a user interface element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.-Description:A typical button is a rectangle or rounded rectangle, wider than it is...
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 what's called a non-scrolling region - an area of the window which will not move up or down if the user moves the scrollbar at the side of the window. Non-scrolling regions can only be used at the beginning of a topic. If a non-scrolling region is used, the Help author can control the size and background color of it.
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 will appear as green text with a single underline
Underline
An underline, also called an underscore, is one or more horizontal lines immediately below a portion of writing. Single, and occasionally double , underlining was originally used in hand-written or typewritten documents to emphasise text...
. Single-clicking on a jump will open a different topic. Some jumps may open secondary Help windows to display their information. Popups appear in the text as green text with a dotted underline. Single-clicking on a popup will open a small window with no menus, buttons, or scrollbars, sized to fit the text it contains. Often, popups are used to provide short definitions of key terms or other supplemental information about the main text. The popup will automatically disappear the next time the user clicks anywhere or presses any key.
Many, though not all, Help topics will 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 which, when clicked, brings up a dialog box displaying all the relevant topics. Clicking on the name of a topic in that dialog box
Dialog box
In a graphical user interface of computers, a dialog box is a type of window used to enable reciprocal communication or "dialog" between a computer and its user. It may communicate information to the user, prompt the user for a response, or both...
then clicking Display will open that topic.
Most Help files also contain a Table of Contents and an Index to help users locate the information they need. These feature appear in a separate, tabbed window. Clicking on the Contents tab will open the Table of Contents, in which users can click on headings to see the topics available for them. Often the headings are marked with icons that look like small books, while the topics have icons that look like pages. Double-clicking on a topic (or clicking on a topic then clicking Display) will open that topic. Clicking on the Index tab will open the index, which has a typing field and an alphabetical list of keywords. Typing in the typing field will automatically scroll the list of keywords to the closest match for what you typed. Double-clicking on a keyword (or clicking on a keyword then clicking Display) will display the topic associated with that keyword (if there is only one) or bring up a list of all the topics associated with it (if there is more than one). The index is a very important tool in helping users locate the information they need. Sometimes Help files also have a Find tab, which allows the user to 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
Context-sensitive help is a kind of online help that is obtained from a specific point in the state of the software, providing help for the situation that is associated with that state....
. 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
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...
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 (Partner Director of WinHelp Experience) stated, "WinHelp does not meet the code standards established for Vista. These standards include security, reliability, and performance. WinHelp is architected 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. What this means is that WinHelp manuals for legacy applications will never be readable on a clean Windows Vista PC—in order to read them, the end-user must obtain the 32-bit WinHelp viewer from Microsoft's website and manually install it (which requires WGA "activation"
Windows Genuine Advantage
Windows Genuine Advantage is an anti-piracy system created by Microsoft that enforces online validation of the licensing of several recent Microsoft Windows operating systems when accessing several services, such as Windows Update, and downloading Windows components from the Microsoft Download...
and an account with administrative rights).
Windows 7 support
Microsoft published Windows Help program (WinHlp32.exe) for Windows 7 on October 14, 2009, a week before the scheduled October 22 deadline. Microsoft has recently announced that separate downloads for Windows 7 and Windows Server 2008 R2Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...
will be offered after the RTM versions of these products are available to public.
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 will need to be published in several different presentation formats at once: Microsoft Compiled HTML Help (CHM), WinHelp, HTMLHTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
pages, Java Help, PDF, etc. It would be very expensive and error-prone to maintain each format separately.
For this reason, documentation is often maintained in an industry-standard, vendor-neutral authoring format, such as DocBook
DocBook
DocBook is a semantic markup language for technical documentation. It was originally intended for writing technical documents related to computer hardware and software but it can be used for any other sort of documentation....
, from which several different presentation formats (including WinHelp) can be generated. All of the various presentation files thus produced (WinHelp or otherwise) will always be consistent with one another because all of them were generated from the same sources.
See also
- Microsoft Compiled HTML Help (.chm file extension)
- Microsoft Help 2Microsoft Help 2Microsoft Help 2.x is a proprietary format for online help files, developed by Microsoft and first released in 2001 as a help system for Visual Studio .NET and MSDN Library....
- Microsoft Help Viewer
- OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
's INF HelpInformation Presentation FacilityInformation Presentation Facility is a system for presenting online help and hypertext on IBM OS/2 systems. IPF also refers to the markup language that is used to create IPF content. The IPF language has its origins in BookMaster and Generalized Markup Language developed by IBM...
(also known as IPF or Information Presentation FacilityInformation Presentation FacilityInformation Presentation Facility is a system for presenting online help and hypertext on IBM OS/2 systems. IPF also refers to the markup language that is used to create IPF content. The IPF language has its origins in BookMaster and Generalized Markup Language developed by IBM...
)
External links
- Help-Info: Information around Online Help (Microsoft), Examples, etc.
- HelpMaster: Largest selection of WinHelp, HTMLHelp and HTML related files and hints