原文链接 -> 传送门
函数功能:
WinHelp 函数用于打开 Windows 帮助文档(运行 Winhelp.exe)并传递附加数据,表明应用程序请求帮助。
API 函数原型:
注释:_In_ 说明该参数是输入的,_Out_ 说明该参数是输出的。
BOOL WinHelp( HWND hWndMain, LPCTSTR lpszHelp, UINT uCommand, ULONG_PTR dwData );
参数解析:
|
参数 |
含义 |
|
hWndMain |
1. 指向请求帮助的窗口句柄 |
|
lpszHelp |
1. 含有路径的字符串地址,如果有必要的话也含有 WinHelp 函数要显示的帮助文件名 |
|
uCommand |
请求帮助的类型。uCommand 参数可取的值以及他们如何影响 dwData 参数中的值,详见备注。 |
|
dwData |
附加数据。该值依赖于 uCommand 参数。dwData 可取的值,详见备注。 |
返回值:
1. 如果函数调用成功,返回一个非 0 值;
2. 如果函数调用失败,返回值是 0。
若想获得更多的错误信息,请调用 GetLastError 函数。
备注:
1. 在关闭请求帮助窗口之前,应用程序必须调用 WinHelp 函数,并指定 uCommand 参数为 HELP_QUIT。当所有的应用程序都完成上述操作,系统帮助才会终止。注意:如果你将 uCommand 参数设置为 HELP_CONTEXTPOPUP 来打开系统帮助,那么不必要设置 HELP_QUIT 也可退出。
2. 除了当前用户,其他调用都会失败。
3. 下表展示 uCommand 参数值和与之对应的 dwData 参数值:
|
uCommand 参数 |
响应 |
dwData 参数 |
|
HELP_COMMAND |
运行一个帮助宏或者宏字符串 |
运行一个帮助宏或者宏字符串 |
|
HELP_CONTENTS |
显示 .hpj 文件的 OPTIONS 部分中 Contens 所指定的主题。该命令向后兼容,新的程序应当提供一个 .cnt 文件和使用 HELP_FINDER 命令 |
忽略,设置为0 |
|
HELP_CONTEXT |
显示定义在 .HPJ 文件的 MAP 中特定的上下文标识符所指定的主题 |
包含上下文主题标识符 |
|
HELP_CONTEXTMENU |
显示所选窗口的帮助菜单,然后在弹出式菜单中显示所选组件的主题 |
双字字节对的数组地址,双字字节对第一个为控件标识符,第二个为主题的上下文标识。该数组必须以一对 0 ({0,0}) 结束。如果你确实不想给控件添加系统帮助,设置它的上下文标识符为 -1 |
|
HELP_CONTEXTPOPUP |
显示定义在 .hpj 文件的 MAP 中特定的上下文标识符所指定的弹出式窗口主题 |
包含上下文主题标识符 |
|
HELP_FINDER |
显示帮助主题对话框 |
忽略,设置为 0 |
|
HELP_FORCEFILE |
确保系统帮助显示正确的帮助文件。如果显示不正确的帮助文件,则系统帮助打开正确的帮助文件;否则没有响应 |
忽略,设置为 0 |
|
HELP_HELPONHELP |
如果 WINHLP32.HLP 可用,显示如何使用系统帮助 |
忽略,设置为 0 |
|
HELP_INDEX |
显示 .HPJ 文件的 OPTIONS 部分中 CONTENTS 所指定的主题。该命令向后兼容。新的应用程序应当使用 HELP_FINDER 命令 |
忽略,设置为 0 |
|
HELP_KEY |
如果存在一个精确匹配,那么显示关键字表中精确匹配该关键字的主题。如果有多个匹配,则在 Topics Found(找到的主题)列表框显示索引 |
关键字字符串地址。多个关键字必须以分号隔开 |
|
HELP_MULTIKEY |
显示在关键字选择表中由关键字所指定的主题 |
MULTIKEYHELP 结构的地址,它指定表的脚注和关键字 |
|
HELP_PARTIALKEY |
如果存在一个精确匹配,那么显示关键字表中精确匹配该关键字的主题。如果有多个匹配,则在 Topics Found(找到的主题)列表框显示索引。为了显示无关键字的索引,请使用一个空字符串 |
关键字字符串地址。多个关键字必须以分号隔开 |
|
HELP_QUIT |
提示不再需要系统帮助。如果没有其他程序请求帮助,Windows 关闭系统帮助 |
忽略,设置为 0 |
|
HELP_SETCONTENTS |
指定内容主题。如果此帮助文件没有相关的 .cnt 文件,当用户点击 Contents 按钮时,系统帮助显示此主题 |
包含上下文内容主题标识符 |
|
HELP_SETPOPUP_POS |
设置后续弹出窗口的位置 |
含有位置数据。使用 MAKELONG 合并水平竖直坐标。当弹出窗口被调用,弹出窗口被放置,好像鼠标就在特定点一样 |
|
HELP_SETWINPOS |
如果窗口最小化或者在内存中显示帮助窗口,并按要求设置其大小和位置 |
HELPWINFO 结构的地址,指定主或者副窗口的大小和位置 |
|
HELP_TCARD |
表明命令是系统帮助训练卡实例。使用按位或操作把 HELP_TCARD 命令和其他命令一起使用 |
取决于与 HELP_TCARD 一起操作的命令 |
|
HELP_WM_HELP |
在一个弹出窗口中显示由 hWndMain 参数标识控件的主题 |
双字字节对的数组地址,双字字节对第一个为控件标识符,第二个为主题的上下文标识。该数组必须以一对 0 ({0,0}) 结束。如果你确实不想给控件添加系统帮助,设置它的上下文标识符为 -1 |
需求:
|
Minimum supported client |
Windows xp [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |
|
Unicode and ANSI names |
WinHelpW (Unicode) 和 WinHelpA (ANSI) |




