题
我想获得一个CHM文件使用C#打开一个特定的话题。
我已经尝试使用
Help.ShowHelp(this, path, HelpNavigator.Topic, "TopicTitle");
但它没有找到该网页。我不能在主题标题正确的密钥。有没有一种方法,我可以编程方式检索所有的从CHM文件的主题,这样我可以看到他们是什么?
解决方案
没有,则HTMLHELP API函数过于原始支持列举的主题。你可以使用7-zip文件管理器查找.chm文件内。用鼠标右键单击该文件,选择“打开内部”。或者使用已使用的帮助创作工具。
其他提示
如果您打开CHM文件,并帮助页面上点击右键,你可以选择属性命令。结果 在属性页面的中间有一个叫做物业:地址(URL)点击 该URL的末尾包含用于打开帮助文件到正确的页面主题字符串。
下面是一个例子: MK:@MSITStore:C:\程序%20Files \的Sisulizer%202010 \ Sisulizer.chm :: / OutputFiles.htm
如果网址太长,请参阅主题在最后,你可以用鼠标选择地址,然后滚动到最后。
下面是一个屏幕截图。
您也可以使用以下,其中path
是CHM文件路径:
using System.Windows.Forms;
Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");
我不知道如何以编程方式从CHM检索主题。 但我改变了一行代码这种方式和它的工作。
Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
不隶属于 StackOverflow