The WinHelp Page

Last Updated 01/04/2004

This page contains just about everything that I've collected on Windows Help over the years. This includes a list of magazine articles that I've written or on which I've collaborated, information about my book, The Developer's Guide to WINHELP.EXE, a bunch of unpublished stuff, and some source code I've created.

Although most of this stuff was written for 16-bit WinHelp, much of it still applies to the 32-bit versions.

Since the Help '99 conference in Dallas, I've pretty much gotten out of the Windows Help business, but I'll be happy to answer any questions you might have on the stuff below.

Contacting Me

If you want to contact me for any reason, send mail to

Back to Jim's home page

The Developer's Guide to WINHELP.EXE

This book was published by John Wiley and Sons in late 1993. Although written for the Windows 3.1 version of WinHelp, most of the information (especially the information on writing WinHelp DLLs) is still applicable to WinHelp 4.0. The book is technically still in print, although you may have some difficulty finding it.

If you order the book, be sure to get the version with the listings diskette. It's about $10 more (actually, at Amazon it's the same price), but worth it if you think you'll be writing DLLs for WinHelp. Unfortunately, my contract prevents me from distributing the listings here.

RTF Pocket Guide

The RTF Pocket Guide written by Sean M. Burke is a handy reference to Rich Text Format, Microsoft's "universal" file format that is used in Office applications, rich text controls, and to create Windows Help files.  If you'll be working with help files, especially if you're generating help files, you'll want to understand this markup language. 

Articles I've Written

I have authored or co-authored a number of articles on Windows Help. Again, most of the information was specific to the Windows 3.1 version of WinHelp, but much of it still applies to WinHelp 4.0. I've provided links to the article text for those articles to which I have rights. The article texts also include any code samples.

"A Guide to Windows Help", PC Techniques, Feb/March 1993
"Undocumented WinHelp Macros", Windows/DOS Developer's Journal, January 1994
"More Undocumented WinHelp Macros", Windows/DOS Developer's Journal, December 1994
"Writing DLLs for Windows Help, Part 1", The WinHelp Journal, Spring 1995
"Writing DLLs for Windows Help, Part 2", The WinHelp Journal, Summer 1995
"Undocumented WinHelp, Part 1" (with Pete Davis), PC Magazine, July 1995
"Undocumented WinHelp, Part 2" (with Pete Davis), PC Magazine, September 12, 1995
"Regaining Control after Calling WinHelp", PC Techniques, Aug/Sept 1995

Miscellaneous Source Files

I've collected quite a bit of miscellaneous WinHelp stuff over the years. Following is some code that you might find useful. (21KB) contains an updated version of the Find macro from my book. The macro has been renamed JFind so that it won't conflict with the WinHelp 4.0 Find macro. This is a 16-bit DLL that works fine with WinHelp 4.0 under Windows 95. It's not been compiled and tested as a 32-bit DLL. C source is included. (10KB) contains Microsoft's original DLL.H file, as well as HELPDLL.H and HELPDLL.C, which make building WinHelp DLLs a bit easier. A full description of the contents can be found in Part 1 of the 2-part PC Magazine article (see above). (42KB) contains a DLL that allows you to password protect a help file. This was designed for WinHelp 3.1, but should work fine for WinHelp 4.0 under Windows 95. It won't work under Windows NT without recompiling. See the READ.ME file for instructions on how to use it. (29KB) contains a little DLL that supplies a text buffer that help files can use for temporary space when calling Windows API functions. This archive contains full source and executable. This is a 32-bit DLL designed for WinHelp 4.0. It's possible that it could be recompiled for use with Windows 3.1, but no guarantees. Check out README.TXT in the archive for more info. (210KB) Highly Recommended Brett Merkey has put together a fantastic resource that he calls the Help Macro Reference. It contains most of the information from the macro reference help file that I published with my book, (macro reference--including undocumented macros, WIN.INI variables), detailed HPJ file documentation, a list of resources, discussion of Win95 issues, and a storeroom of great information.