MLHtmlHelp 函数

[此函数可通过 Windows XP 和 Windows Server 2003 使用。 它在后续版本的 Windows 中可能已更改或不可用。]

显示对应于当前 UI 语言设置的帮助窗口。

语法

HWND MLHtmlHelp(
  _In_ HWND      hwndCaller,
  _In_ LPCTSTR   pszFile,
  _In_ UINT      uCommand,
  _In_ DWORD_PTR dwData,
  _In_ DWORD     dwCrossCodePage
);

参数

hwndCaller [in]

类型:HWND

调用此函数的父窗口的句柄。

pszFile [in]

类型: LPCTSTR

指向缓冲区的指针,该缓冲区包含编译的帮助 (.chm) 文件的完全限定路径,或指定帮助文件中的主题文件。

uCommand [in]

类型: UINT

要完成的命令。 此函数直接仅支持 HH_DISPLAY_TOPICHH_DISPLAY_TEXT_POPUP。 对于任何其他命令,调用将不带 dwCrossCodePage 值转发到 HtmlHelp

dwData [in]

类型: DWORD_PTR

根据 uCommand 参数的值,可能需要的任何数据。

dwCrossCodePage [in]

类型:DWORD

指示当前 UI 语言设置的代码页的 DWORD 值,例如 CP_ACP。

返回值

类型:HWND

根据指定的 uCommand 和结果, MLHtmlHelp 返回以下一个或两个:

  • 句柄 (帮助窗口的 hwnd) 。
  • NULL。 在某些情况下, NULL 表示失败;在其他情况下, NULL 表示尚未创建帮助窗口。

备注

如果当前语言的帮助文件路径出现问题,则会将调用转发到 HtmlHelp 进行标准处理。

关闭帮助窗口时,焦点将返回到所有者,除非所有者是桌面。 如果 hwndCaller 是桌面,则操作系统将确定焦点返回的位置。

此外,如果 MLHtmlHelp 从帮助窗口发送任何通知消息,则只要在帮助窗口定义中启用了通知消息跟踪,消息就会发送到 hwndCaller

示例

以下示例调用 HH_DISPLAY_TOPIC 命令以打开名为 Help.chm 的帮助文件,并在名为 Mainwin的帮助窗口中显示其默认主题。 通常,此命令中指定的帮助窗口是标准的 HTML 帮助查看器

HWND hwnd = HtmlHelp(GetDesktopWindow(),
                     "c:\\Help.chm::/Intro.htm>Mainwin",
                     HH_DISPLAY_TOPIC,
                     NULL,
                     CP_ACP);

注意

使用此函数时,请将托管可执行文件的堆栈大小至少设置为 100k。 如果定义的堆栈大小太小,则为运行 HTML 帮助而创建的线程也将使用此堆栈大小创建,并且操作可能会失败。 (可选)可以从链接命令行中删除 /STACK,还可以删除可执行文件的 DEF 文件中的任何 STACK 设置, (默认堆栈大小在本例中为 1MB,) 。 还可以使用 /Fnumber 编译器命令设置堆栈大小, (编译器将此大小作为 /STACK) 传递给链接器。

 

要求

要求
最低受支持的客户端
Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
DLL
Shlwapi.dll (5.0 或更高版本)
Unicode 和 ANSI 名称
MLHtmlHelpW (Unicode) 和 MLHtmlHelpA (ANSI)