WinHelpA function (winuser.h)
Launches Windows Help (Winhelp.exe) and passes additional data that indicates the nature of the help requested by the application.
BOOL WinHelpA(
HWND hWndMain,
LPCSTR lpszHelp,
UINT uCommand,
ULONG_PTR dwData
);
hWndMain
Type: HWND
A handle to the window requesting help. The WinHelp function uses this handle to keep track of which applications have requested help. If the uCommand parameter specifies HELP_CONTEXTMENU or HELP_WM_HELP, hWndMain identifies the control requesting help.
lpszHelp
Type: LPCTSTR
The address of a null-terminated string containing the path, if necessary, and the name of the Help file that WinHelp is to display.
The file name can be followed by an angle bracket (>) and the name of a secondary window if the topic is to be displayed in a secondary window rather than in the primary window. You must define the name of the secondary window in the [WINDOWS] section of the Help project (.hpj) file.
uCommand
Type: UINT
The type of help requested. For a list of possible values and how they affect the value to place in the dwData parameter, see the Remarks section.
dwData
Type: ULONG_PTR
Additional data. The value used depends on the value of the uCommand parameter. For a list of possible dwData values, see the Remarks section.
Type: BOOL
Returns nonzero if successful, or zero otherwise. To retrieve extended error information, call GetLastError.
Before closing the window that requested help, the application must call WinHelp with the uCommand parameter set to HELP_QUIT. Until all applications have done this, Windows Help will not terminate. Note that calling Windows Help with the HELP_QUIT command is not necessary if you used the HELP_CONTEXTPOPUP command to start Windows Help.
This function fails if called from any context but the current user.
The following table shows the possible values for the uCommand parameter and the corresponding formats of the dwData parameter.
uCommand | Action | dwData |
---|---|---|
HELP_COMMAND | Executes a Help macro or macro string. | Address of a string that specifies the name of the Help macro(s) to run. If the string specifies multiple macro names, the names must be separated by semicolons. You must use the short form of the macro name for some macros because Windows Help does not support the long name. |
HELP_CONTENTS | Displays the topic specified by the Contents option in the [OPTIONS] section of the .hpj file. This command is for backward compatibility. New applications should provide a .cnt file and use the HELP_FINDER command. | Ignored; set to 0. |
HELP_CONTEXT | Displays the topic identified by the specified context identifier defined in the [MAP] section of the .hpj file. | Contains the context identifier for the topic. |
HELP_CONTEXTMENU | Displays the Help menu for the selected window, then displays the topic for the selected control in a pop-up window. | Address of an array of DWORD pairs. The first DWORD in each pair is the control identifier, and the second is the context identifier for the topic. The array must be terminated by a pair of zeros {0,0}. If you do not want to add Help to a particular control, set its context identifier to -1. |
HELP_CONTEXTPOPUP | Displays the topic identified by the specified context identifier defined in the [MAP] section of the .hpj file in a pop-up window. | Contains the context identifier for a topic. |
HELP_FINDER | Displays the Help Topics dialog box. | Ignored; set to 0. |
HELP_FORCEFILE | Ensures that Windows Help is displaying the correct Help file. If the incorrect Help file is being displayed, Windows Help opens the correct one; otherwise, there is no action. | Ignored; set to 0. |
HELP_HELPONHELP | Displays help on how to use Windows Help, if the Winhlp32.hlp file is available. | Ignored; set to 0. |
HELP_INDEX | Displays the topic specified by the Contents option in the [OPTIONS] section of the .hpj file. This command is for backward compatibility. New applications should use the HELP_FINDER command. | Ignored; set to 0. |
HELP_KEY | Displays the topic in the keyword table that matches the specified keyword, if there is an exact match. If there is more than one match, displays the Index with the topics listed in the Topics Found list box. | Address of a keyword string. Multiple keywords must be separated by semicolons. |
HELP_MULTIKEY | Displays the topic specified by a keyword in an alternative keyword table. | Address of a MULTIKEYHELP structure that specifies a table footnote character and a keyword. |
HELP_PARTIALKEY | Displays the topic in the keyword table that matches the specified keyword, if there is an exact match. If there is more than one match, displays the Topics Found dialog box. To display the index without passing a keyword, use a pointer to an empty string. | Address of a keyword string. Multiple keywords must be separated by semicolons. |
HELP_QUIT | Informs Windows Help that it is no longer needed. If no other applications have asked for help, Windows closes Windows Help. | Ignored; set to 0. |
HELP_SETCONTENTS | Specifies the Contents topic. Windows Help displays this topic when the user clicks the Contents button if the Help file does not have an associated .cnt file. | Contains the context identifier for the Contents topic. |
HELP_SETPOPUP_POS | Sets the position of the subsequent pop-up window. | Contains the position data. Use MAKELONG to concatenate the horizontal and vertical coordinates into a single value. The pop-up window is positioned as if the mouse cursor were at the specified point when the pop-up window was invoked. |
HELP_SETWINPOS | Displays the Windows Help window, if it is minimized or in memory, and sets its size and position as specified. | Address of a HELPWININFO structure that specifies the size and position of either a primary or secondary Help window. |
HELP_TCARD | Indicates that a command is for a training card instance of Windows Help. Combine this command with other commands using the bitwise OR operator. | Depends on the command with which this command is combined. |
HELP_WM_HELP | Displays the topic for the control identified by the hWndMain parameter in a pop-up window. | Address of an array of DWORD pairs. The first DWORD in each pair is a control identifier, and the second is a context identifier for a topic. The array must be terminated by a pair of zeros {0,0}. If you do not want to add Help to a particular control, set its context identifier to -1. |
Note
The winuser.h header defines WinHelp as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winuser.h |
Library | User32.lib |
DLL | User32.dll |
API set | ext-ms-win-ntuser-misc-l1-5-1 (introduced in Windows 10, version 10.0.14393) |