小甲鱼 发表于 2016-3-28 20:47:22

WinHelp

注:本文档由 百日维新 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

WinHelp 函数用于打开 Windows 帮助文档(运行 Winhelp.exe)并传递附加数据,表明应用程序请求帮助。


API 函数原型:

注释:_In_ 说明该参数是输入的,_Out_ 说明该参数是输出的。
BOOL WinHelp(
   HWND      hWndMain,
   LPCTSTR   lpszHelp,
   UINT      uCommand,
   ULONG_PTR dwData
);

参数解析:


参数 含义
hWndMain1. 指向请求帮助的窗口句柄

2. WinHelp 函数使用该句柄定位请求帮助应用程序

3. 如果 uCommand 参数指定 HELP_CONTEXTMENU 或者 HELP_WM_HELP,hWndMain 能识别请求帮助的控件
lpszHelp1. 含有路径的字符串地址,如果有必要的话也含有 WinHelp 函数要显示的帮助文件名

2. 如果主题在副窗口显示而不是在原来的窗口显示,那么文件名和副窗口名后面可以跟随一个尖括号(>)。你必须在帮助工程文件(.hpj)的 WINDOWS 部分定义副窗口名
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)
LibraryUser32.lib
DLLUser32.dll
Unicode and ANSI namesWinHelpW (Unicode) 和 WinHelpA (ANSI)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

页: [1]
查看完整版本: WinHelp