如何在CHM文件中查找主题ID

本文关键字:查找 ID 文件 CHM | 更新日期: 2023-09-27 18:26:57

我想从我的C#项目中打开一个CHM文件。我想打开CHM文件的相关部分,因此我使用以下代码行

Help.ShowHelp(this, help_file, HelpNavigator.TopicId, topic_id);

问题是,我没有CHM文件的来源,也不知道它的主题ID。有办法获得这个CHM文件中的主题ID吗?

如何在CHM文件中查找主题ID

使用各种提取器之一(主要基于chmlib)提取CHM,然后查看提取的"*.hhc"文件。这是一个主题映射,它将主题瓦片/ids与CHM文件中的内部URL相匹配。

请注意,一些罕见的CHM文件有一个二进制TOC,没有hhc文件,但这种可能性很低,因为HH默认值不鼓励这样做。

稍后添加:Free Pascalchmls工具的提取选项数量已更新。(尽管有些更像是转储功能,而不是真正的提取):确保从2.6.4+中获得一个

列表[节号]显示存档目录的内容extract[saveasname]从档案"filename"中提取文件"filename to get",如果指定,则将其保存到[saveasname]extractall[目录]将存档文件"filename"中的所有文件提取到目录"目录"unlockchm[filespec2]。。Mass解锁(XPsp2+)相关CHM。多个文件和允许的通配符extractlias〔basefilename〕〔symbolprefix〕从文件"chmfilename"中提取上下文信息转换为"basefilename".h和"basefilename".ali,使用符号"symbolprefix"上下文extractoc[文件名]提取toc(主要用于检查二进制toc)extractndex[文件名]提取索引(主要用于检查二进制索引)printidxhdr以可读格式打印#IDXHDR打印系统以可读格式打印#SYSTEM打印窗口以可读格式打印#WINDOWS打印主题以可读格式打印#TOPICS