我想从我的 C# 项目中打开 CHM 文件。我想打开 CHM 文件的相关部分,因此我使用以下代码行
Help.ShowHelp(this, help_file, HelpNavigator.TopicId, topic_id);
Run Code Online (Sandbox Code Playgroud)
问题是,我没有 CHM 文件的来源,也不知道它的主题 ID。有没有办法获取这个CHM文件的主题ID?
使用各种提取器(主要基于 chmlib)之一提取 CHM,然后查看提取的“*.hhc”文件。这是一个主题图,将主题图块/ID 与 CHM 文件中的内部 URL 进行匹配。
请注意,一些罕见的 CHM 文件具有二进制 TOC 并且没有 hhc 文件,但这种情况的可能性非常低,因为 HH 默认值不鼓励这样做。
后期添加:更新了Free Pascal chmls工具 的提取选项数量。(尽管有些更多的是转储功能而不是真正的提取):确保您从 2.6.4+ 中获得一个
列表[节号]
显示存档目录的内容
提取[保存名称]
从存档“文件名”中提取文件“要获取的文件名”,
并且,如果指定,将其保存到 [saveasname]
提取全部[目录]
将所有文件从存档“文件名”提取到目录
“目录”
unblockchm [文件规范2] ..
批量解锁 (XPsp2+) 相关 CHM。多个文件
并允许使用通配符
extractalias [基本文件名] [符号前缀]
从文件“chmfilename”中提取上下文信息
到“basefilename”.h 和“basefilename”.ali,
使用符号“symbolprefix”contextnr
extracttoc [文件名]
提取toc(主要是检查二进制TOC)
提取索引[文件名]
提取索引(主要是检查二进制索引)
打印idxhdr
以可读格式打印#IDXHDR
打印系统
以可读格式打印#SYSTEM
打印窗口
以可读格式打印#WINDOWS
打印主题
以可读格式打印#TOPICS
| 归档时间: |
|
| 查看次数: |
5189 次 |
| 最近记录: |