WinHelpA 函数 (winuser.h)

启动 Windows 帮助 (Winhelp.exe) 并传递指示应用程序请求的帮助性质的其他数据。

语法

BOOL WinHelpA(
  HWND      hWndMain,
  LPCSTR    lpszHelp,
  UINT      uCommand,
  ULONG_PTR dwData
);

参数

hWndMain

类型:HWND

请求帮助的窗口的句柄。 WinHelp 函数使用此句柄来跟踪哪些应用程序已请求帮助。 如果 uCommand 参数指定 HELP_CONTEXTMENUHELP_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] 部分中的 Contents 选项指定的主题。 此命令是为了向后兼容。 新应用程序应提供 .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 如果 Winhlp32.hlp 文件可用,则显示有关如何使用 Windows 帮助的帮助。 忽视;设置为 0。
HELP_INDEX 显示由 .hpj 文件的 [OPTIONS] 部分中的 Contents 选项指定的主题。 此命令是为了向后兼容。 新应用程序应使用 HELP_FINDER 命令。 忽视;设置为 0。
HELP_KEY 显示关键字 (keyword) 表中与指定关键字 (keyword) 匹配的主题(如果有完全匹配)。 如果有多个匹配项,则显示“索引”,其中包含“ 已找到的主题” 列表框中列出的主题。 关键字 (keyword) 字符串的地址。 多个关键字必须用分号分隔。
HELP_MULTIKEY 在备用关键字 (keyword) 表中显示由关键字 (keyword) 指定的主题。 指定表脚注字符和关键字 (keyword) 的 MULTIKEYHELP 结构的地址。
HELP_PARTIALKEY 显示关键字 (keyword) 表中与指定关键字 (keyword) 匹配的主题(如果有完全匹配)。 如果有多个匹配项,则显示“ 找到主题 ”对话框。 若要在不传递关键字 (keyword) 的情况下显示索引,请使用指向空字符串的指针。 关键字 (keyword) 字符串的地址。 多个关键字必须用分号分隔。
HELP_QUIT 通知 Windows 帮助不再需要它。 如果没有其他应用程序寻求帮助,Windows 将关闭 Windows 帮助。 忽视;设置为 0。
HELP_SETCONTENTS 指定内容主题。 如果用户单击“ 内容” 按钮(如果帮助文件没有关联的 .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 [仅限桌面应用]
目标平台 Windows
标头 winuser.h
Library User32.lib
DLL User32.dll
API 集 在 (Windows 10 版本 10.0.14393 中引入的 ext-ms-win-ntuser-misc-l1-5-1)

另请参阅

HELPWININFO

MULTIKEYHELP