Resources for WinHelp Authors
Optimised for 256 colours under Netscape V2+.
What you need:
You don't need much at all...
- An editor which can create RTF (Rich Text Format) documents, which are the main
component of WinHelp files. I use and recommend Microsoft's Word for Windows Version 2.0c.
(RTF produced by later versions of WinWord seems to be less compatible with the WinHelp3
compiler.) A second-hand copy of WinWord2 can usually be found for around AUD$20.
I don't recommend writing raw RTF (unless you're a masochist, or want to do some
very special coding), as the mark-up sequences can become incredibly complicated - much
worse than raw HTML. However, if you must do it, don't use Notepad. Use a good text
editor such as the excellent PFE (Programmer's File Editor) by Alan Phillips,
available from many Internet sites and other sources. PFE lets you open multiple
documents, create macros, and has a whole range of other useful features - and it's
freeware!! (Thanks, Alan.)
- The Microsoft Windows Help Compiler. Earlier versions (HC.EXE, HC30.EXE, HC31.EXE) were
distributed with various language products, but I recommend that for Win3.x files (which
are upward-compatible to Win95) you use the upgraded HCP.EXE (Ver. 3.10.505) which makes
good use of extended memory. I understand that a licensed user of any earlier version is
entitled to upgrade to this version, which is widely available, including from Microsoft's own site. (You may need
to prowl around a bit in that very complex site - bookmark frequently. You might also like
to check out MS's other gems in MS's directory
map for developers.
- A graphics editor, to create pictures to add that little extra to your product. Windows
Paintbrush will create perfectly adequate BMP (BitMapped) graphics.
- A language reference. The Help Compiler Reference included with some Windows programming
languages is barely adequate. Get a copy of HAG.ZIP - the (apparently unofficial) Help
Authoring Guide by Microsoft, appropriately in WinHelp3 format. An excellent
source for HAG (and lots of other WinHelp-related material) is Josef Becker's
("Brownie's") Helpmaster site.
See also Bibliography.
You can also use special editors for graphics (such as PaintShop Pro by JASC, Inc) and custom DLLs (such as WHPLUS) to enhance your work, or purpose-built integrated HATs
(Help Authoring Tools) - but the beginner will be well-served by the list above.
Bibliography
(If I've missed anything, or if any of these references or URLs are incorrect, please let
me know.)
- The Help Authoring Guide, in WinHelp3 format as HAG.HLP, is an excellent
reference. Apparently an unofficial Microsoft product, it covers the theory and design of
helpfiles, recommended styles and standards, how to create project and topic files,
project file (HPJ) syntax, macro syntax, customisation, and (for the masochists and
others) a full guide to RTF tokens. Plus much more. You can download HAG.ZIP from HelpMaster.
The similarly named WHAG.ZIP apparently contains similar information in the form of
WinWord documents - however, I've never bothered to use it, as HAG.HLP is the
reference for me. (There are a few other "HAG"s around, but none quite as good.)
- Developing Online Help for Windows (Scott Boggan, David Farkas & Joe
Welinske, SAMS Publishing, 1st Edition 1993, ISBN 0-672-30230-6).
An excellent reference for the non-programmer. Although this is now out of print, copies
can still be found, and are worth the effort of finding.
- The Developer's Guide to WINHELP.EXE (Jim Mischel, John Wiley & Sons,
1994, 1st Edition 1994, ISBN 0-471-30325-9).
For the C or Pascal programmer. The complete rundown on how to build DLLs.
NOTE: Jim has also published a lot of his knowledge, including sample code, on his
Website at http://www.mischel.com/winhelp/
- The US edition of PC Magazine has been very
supportive of WinHelp developers:
- Ray Duncan wrote a ground-breaking series of eight Power Programming
articles, covering the spectrum from the basics of design and authoring, to using WinHelp
DLLs and the WinHelp API:
- V12N8 (27 Apr 1993): Constructing Your Own Windows Help Files
- V12N9 (11 May 1993): Building the Basic Structure of a Windows Help File
- V12N10 (25 May 1993): Integrating a Windows Help File into an Application
- V12N11 (15 Jun 1993): Four Techniques to Enhance Your Windows Help Files
- V12N12 (29 Jun 1993): Implementing Macros in Your Help Files
- V12N13 (Jul 1993): How to Implement Context-Sensitive Help
- V12N14 (Aug 1993): Integrating Windows Help: a Strategic Review
- V12N15 (14 Sep 1993): Extending WinHelp with Custom DLLs
- V13N22 (20 Dec 1994): The Structure of a Help System by Neil J Rubenking.
- V14N1 (10 Jan 1995): Electronic Publishing with Windows Help by Ray Duncan.
- V14N3 (7 Feb 1995): Generating RTF Files for Windows Help: Ray Duncan uses
Access Basic to build a WinHelp file from a database.
- V14N4 (21 Feb 1995): Taking Windows Help to the Limit: the first of two
articles by Barry Simon.
- V14N7 (11 Apr 1995): Help on Help: Resources for WinHelp Authors : the
second of two by Barry Simon.
- V14N13 (Jul 1995) & V14N15
(12 Sep 1995): Undocumented WinHelp by Pete Davis & Jim Mischel delve
into helpfile structure and the use of DLLs - includes source code for HACCESS etc.
- V14N16: The Readers
Strike Back - Duncan responds to readers' letters about his earlier articles.
- The Windows/DOS Developer's Journal (ftp.uu.net 192.48.96.9 /published/windowsdos) went
in deep...:
- Feb 1993: Automating Help Topic Extraction by Ron Burk - DLLs to read
BAGGAGE.
- Mar 1993: Automatic Help Topic Printing - more from Ron Burk, on
multi-topic printing.
- Jan 1994: Undocumented WinHelp Macros by Jim Mischel - the macros Microsoft
forgot.
- ...and so did Dr. Dobb's Journal (ftp.mv.com 192.80.84.3 /pub/ddj):
- Jun 1993: Spying on WinHelp by Ron Burk - how to read WinHelp API calls,
with source code for HELPSPY.
- Sep & Oct 1993: Documenting Documentation: The Windows .HLP File Format
by Pete Davis. As it says. Includes source code for WHSTRUCT, TOPICDMP etc.
- Implementing and Using Windows Help by Keith Bugg & Jack Tackett, Jr;
The C Users Journal (Sep 1993)
- Programming Windows Help Files & Easier Windows Help Files:
Tom Campbell; COMPUTE (Jan & Feb 1994)
- A Guide to Windows Help Files: Jim Mischel; PC Techniques (Feb/Mar 1994)
(ftp.coriolis.com /pub/pctech)
- And from the time before time - Adding Hypertext-based Help to Your Application
Using Microsoft® Help Technology by Marc Adler, from the May 1990
issue of Microsoft Systems Journal, this is all about QuickHelp and the Help Library for
DOS - the "Roots" of WinHelp!
- Sean M Burke's RTF Pocket Guide (published 2003 by O'Reilly &
Associates Inc - ISBN 0 596 00475 3) is a detailed guide to the Rich Text
Format that allows a high degree of universality between software products and operatiung
platforms. RTF is also the internal markup language used by WinHelp pre-HTML-Help, and
this book devotes a section to the RTF-WinHelp relationship, with some useful advice on
handling the idiosyncracies and limitations that can be encountered.
How to make WinHelp3 do things it wasn't designed to do
- Implementing Full-text Search (FTS) under Windows 3.x
When Windows 95 was released, its Help engine (WinHelp4) came with built-in FTS, which
works just as well with WinHelp3 files - but only when run on Win95.There are still a
lot of people who want to know "How can I set up FTS in a Windows 3.x helpfile running
on a Win3.x machine?"
There are several good HATs (Help Authoring Tools) that will do this, but you might
find that you don't need them. The 16-bit FTS engine from Version 1.0 of Microsoft's
Multimedia Developer's Kit (MDK) does the job very well. Check http://www.pcug.org.au/~jcarroll/whfts.htm
for full instructions on FTS using the MDK DLLs.
- Adding a CNT
Do you want to run your WinHelp3 products with the greatest possible functionality under
Win95, but without recompiling? What you might need is a CNT - a simple text-file which
allows WinHelp4 to show a graphical Table of Contents for a WinHelp3 file. Go to http://www.pcug.org.au/~jcarroll/whcnt.htm for instructions and
examples of how to build a CNT.
A few useful places to go:
(Links change - if you find any of these are out of date, please let me
know. And Web-site owners, it is a really good idea, if you change a Web URL, to leave a
trace to its replacement. It costs little space, and keeps the users in touch. For an
example, have a look at the predecessor of this page.)
- Josef Becker's ("Brownie's") HelpMaster
site has a very comprehensive list of WinHelp-related utilities, complete with download
URLs for those that aren't downloadable from Helpmaster itself.
- Paul Arnote's WinHelp World is the original
source of the WinAPI3 "how-to" for multimedia WinHelp. This classic demo, on the
Software Gallery link, gives clear and comprehensive instructions and examples of
integrating sound and video clips into WinHelp products. If you're into MIDI, with or
without WinHelp, you should also check out the HELPful WinHelp sites link.
- As its name implies, Help University
provides training in WinHelp (and other techniques such as HTML). Although many of its
offerings are contact courses held on the mainland USA, it also provides other services
remotely.
- For the new user, James
S Hiller (The Story Teller) does a very good online tutorial on writing WinHelp.
Unfortunately, it appears to be available only online - I couldn't find a
consolidated, downloadable version to peruse at leisure.
- Cambridge Publications'
access to the WinHelp mail list (WinHlp-L) archives. Very useful if you're looking for
information you just know was posted but which you've since deleted from your
message-bank.
- As mentioned in Bibliography above, Jim
Mischel's site has a lot of valuable material and tools, and includes links to online
publication of several magazine articles he wrote.
- The HDK User Group - for anyone using
or considering HDK by Virtual Media Technology. (The site is not affiliated with
VMT.)
If you have trouble reaching any of the above, to leave me a
message right now, or e-mail me later at jcarroll@pcug.org.au and I will
check the link and update if necessary.
Created 9 Aug 1995 : Last updated 09 October 2012.