列出CHM文件中的所有主题

时间:2010-02-16 20:18:02

标签: c# .net chm helpfile

我正在尝试使用C#获取CHM文件以打开特定主题。

我尝试过使用

Help.ShowHelp(this, path, HelpNavigator.Topic, "TopicTitle");

但它找不到该页面。我不能正确地键入主题标题。有没有办法可以编程方式从CHM文件中检索所有主题,以便我可以看到它们是什么?

4 个答案:

答案 0 :(得分:7)

不,HtmlHelp API函数太过原始,无法支持枚举主题。您可以使用7-zip文件管理器查看.chm文件。右键单击该文件,然后选择“打开内部”。或者使用已使用的帮助创作工具。

答案 1 :(得分:4)

如果您打开CHM文件,并右键单击帮助页面,则可以选择“属性”命令 在“属性”页面的中间有一个名为“地址(URL)”的属性 URL的末尾包含用于将帮助文件打开到正确页面的主题字符串。

这是一个例子: MK:@MSITStore:C:\程序%20Files \的Sisulizer%202010 \ Sisulizer.chm :: / OutputFiles.htm

如果网址太长,无法在最后看到该主题,您可以使用鼠标选择地址并滚动到最后。

这是一个截屏。

enter image description here

答案 2 :(得分:1)

您也可以使用以下内容,其中path是chm文件的路径:

using System.Windows.Forms;

Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");

答案 3 :(得分:0)

我不确定如何以编程方式从CHM中检索主题。 但是我用这种方式改变了一行代码并且它起作用了。

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");