WinHelpW 函数 (winuser.h)
启动 Windows 帮助(Winhelp.exe)并传递指示应用程序请求的帮助性质的其他数据。
语法
BOOL WinHelpW(
HWND hWndMain,
LPCWSTR lpszHelp,
UINT uCommand,
ULONG_PTR dwData
);
参数
hWndMain
类型:HWND
请求帮助的窗口句柄。 WinHelp 函数使用此句柄跟踪哪些应用程序请求了帮助。 如果 uCommand 参数指定 HELP_CONTEXTMENU 或 HELP_WM_HELP,hWndMain 标识请求帮助的控制。
lpszHelp
类型:LPCTSTR
包含路径的 null 终止字符串的地址(如有必要)以及 WinHelp 的帮助文件的名称要显示。
如果主题显示在辅助窗口中而不是主窗口中,则文件名后跟尖括号(>)和辅助窗口的名称。 必须在帮助项目 (.hpj) 文件的 [WINDOWS] 节中定义辅助窗口的名称。
uCommand
类型:UINT
请求的帮助类型。 有关可能值的列表以及它们如何影响值放置在 dwData 参数中,请参阅“备注”部分。
dwData
类型:ULONG_PTR
其他数据。 使用的值取决于 uCommand 参数的值。 有关可能 dwData 值的列表,请参阅“备注”部分。
返回值
类型:BOOL
如果成功,则返回非零;否则返回零。 若要检索扩展的错误信息,请调用 GetLastError。
言论
在关闭请求帮助的窗口之前,应用程序必须调用 WinHelp,并将 uCommand 参数设置为HELP_QUIT。 在完成所有应用程序之前,Windows 帮助不会终止。 请注意,如果使用 HELP_CONTEXTPOPUP 命令启动 Windows 帮助,则不需要使用 HELP_QUIT 命令调用 Windows 帮助。
如果从任何上下文(但当前用户)调用,则此函数将失败。
下表显示了 uCommand 参数的可能值以及 dwData 参数的相应格式。
uCommand | 行动 | dwData |
---|---|---|
HELP_COMMAND | 执行 Help 宏或宏字符串。 | 指定要运行的帮助宏名称的字符串的地址。 如果字符串指定多个宏名,则名称必须用分号分隔。 对于某些宏,必须使用宏名称的短格式,因为 Windows 帮助不支持长名称。 |
HELP_CONTENTS | 显示 .hpj 文件的 [OPTIONS] 节中“内容”选项指定的主题。 此命令用于向后兼容性。 新应用程序应提供 .cnt 文件并使用 HELP_FINDER 命令。 | 忽视;设置为 0。 |
HELP_CONTEXT | 显示由 .hpj 文件的 [MAP] 节中定义的指定上下文标识符标识的主题。 | 包含主题的上下文标识符。 |
HELP_CONTEXTMENU | 显示所选窗口的 帮助 菜单,然后在弹出窗口中显示所选控件的主题。 | DWORD 对数组的地址。 每对中的第一个 DWORD 是控件标识符,第二个是主题的上下文标识符。 数组必须由一对零 {0,0}终止。 如果不想将帮助添加到特定控件,请将其上下文标识符设置为 -1。 |
HELP_CONTEXTPOPUP | 显示由弹出窗口中 .hpj 文件的 [MAP] 节中定义的指定上下文标识符标识的主题。 | 包含主题的上下文标识符。 |
HELP_FINDER | 显示“帮助主题”对话框。 | 忽视;设置为 0。 |
HELP_FORCEFILE | 确保 Windows 帮助显示正确的帮助文件。 如果显示不正确的帮助文件,Windows 帮助将打开正确的帮助文件;否则,没有操作。 | 忽视;设置为 0。 |
HELP_HELPONHELP | 显示有关如何使用 Windows 帮助的帮助(如果 Winhlp32.hlp 文件可用)。 | 忽视;设置为 0。 |
HELP_INDEX | 显示 .hpj 文件的 [OPTIONS] 节中“内容”选项指定的主题。 此命令用于向后兼容性。 新应用程序应使用 HELP_FINDER 命令。 | 忽视;设置为 0。 |
HELP_KEY | 显示与指定关键字匹配的关键字表中的主题(如果有完全匹配)。 如果有多个匹配项,则显示索引,其中包含 “找到的主题”列表框中 主题中列出的主题。 | 关键字字符串的地址。 多个关键字必须用分号分隔。 |
HELP_MULTIKEY | 在备用关键字表中显示关键字指定的主题。 | 指定表脚注字符和关键字的 MULTIKEYHELP 结构的地址。 |
HELP_PARTIALKEY | 显示与指定关键字匹配的关键字表中的主题(如果有完全匹配)。 如果有多个匹配项,则显示“找到 |
关键字字符串的地址。 多个关键字必须用分号分隔。 |
HELP_QUIT | 通知 Windows 帮助,不再需要它。 如果没有其他应用程序请求帮助,Windows 将关闭 Windows 帮助。 | 忽视;设置为 0。 |
HELP_SETCONTENTS | 指定 Contents 主题。 如果用户单击 内容 按钮(如果帮助文件没有关联的 .cnt 文件,Windows 帮助会显示本主题)。 | 包含 Contents 主题的上下文标识符。 |
HELP_SETPOPUP_POS | 设置后续弹出窗口的位置。 | 包含位置数据。 使用 MAKELONG 将水平坐标和垂直坐标串联成单个值。 弹出窗口的位置就像鼠标光标在调用弹出窗口时位于指定点一样。 |
HELP_SETWINPOS | 显示 Windows 帮助窗口(如果最小化或内存中),并按指定设置其大小和位置。 | HELPWININFO 的地址 结构,该结构指定主要或辅助帮助窗口的大小和位置。 |
HELP_TCARD | 指示命令适用于 Windows 帮助的训练卡实例。 使用按位 OR 运算符将此命令与其他命令组合在一起。 | 取决于组合此命令的命令。 |
HELP_WM_HELP | 在弹出窗口中显示由 hWndMain 参数标识的控件的主题。 | DWORD 对数组的地址。 每对中的第一个 DWORD 是控件标识符,第二个是主题的上下文标识符。 数组必须由一对零 {0,0}终止。 如果不想将帮助添加到特定控件,请将其上下文标识符设置为 -1。 |
注意
winuser.h 标头将 WinHelp 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winuser.h |
库 | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-misc-l1-5-1(在 Windows 10 版本 10.0.14393 中引入) |