如何通过特定索引处的 hh.exe 启动帮助

问题描述

我正在通过

打开 Windows 的帮助文件

hh.exe "C:\MyHelp.chm"

一切正常,但我还想从一些索引开始,例如 Test abc

有什么办法可以做到吗?例如一些命令行参数?我只找到了那些:

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/htmlhelp/using-command-line-switches

解决方法

命令行调用的答案是否定的。

您知道 - hh.exe 随 HTML 帮助一起分发,因此您可以信赖它的存在。它位于 Windows 文件夹中,并具有有限数量的命令行选项。 HH.EXE 与 .CHM 文件相关联。因此双击一个 *.CHM 文件,Windows 将使用 HH.EXE 打开该文件。它是一个非常小的文件,它主要将帮助文件名传递给 HH API 库。 HH.EXE 不是单实例,如果使用 HH.EXE 打开一个 CHM 文件 3 次,则会出现三个帮助窗口。

请注意您拥有的选项。参见下文以及:HTMLHelp command-line

使用帮助 ID = 12030 打开帮助主题的示例

ID 是您在项目 (*.hhp) 文件的 [MAP] 部分中定义并映射到 [ALIAS] 部分中所需主题的数字。

C:\>HH.EXE -mapid 12030 ms-its:C:/xTemp/XMLconvert.chm

使用主题路径打开帮助主题的示例

C:\>HH.EXE ms-its:C:/xTemp/XMLconvert.chm::/Bekannte_Fehler/err/xml3.htm
C:\>HH.EXE mk:@MSITStore:C:/xTemp/XMLconvert.chm::/Bekannte_Fehler/errxml3.htm

C:\>HH.EXE ms-its:C:/xTemp/XMLconvert.chm::/Bekannte_Fehler/err/xml3.htm#anchor

mk:@MSITStore 协议适用于 IE3 及更高版本,而 ms-its 协议适用于 IE4 及更高版本。 “ms-its”的缩写版本是只使用“its”。实际上,HH 的后续版本甚至不需要协议前缀。

通过软件这可以通过例如vb.net:

Way to open Index tab in chm file