如何从chm文件中打开特定主题?

时间:2015-09-08 11:13:04

标签: c# chm

我已经从chm处理器软件创建了chm文件。通过点击特定主题的属性我得到了htm链接

htm link:mk:@MSITStore:D:\ my.chm :: / start.htm#_Toc417986991

但是当我试图从我的c#app打开它给出错误

c#c​​ode:

System.Windows.Forms.Help.ShowHelp(null, @"D:\my.chm", @"mk:@MSITStore:D:\my.chm::/start.htm#_Toc417986991");

当我运行我的代码并尝试打开其给出错误时

  

"此程序无法显示网页"

请帮我找到解决这个问题的方法

1 个答案:

答案 0 :(得分:2)

请在表单中添加一个HelpProvider,并尝试使用以下代码:

private const string sHTMLHelpFileName_ShowWithNavigationPane = "CHM-example_ShowWithNavigationPane.chm";    
private void btnHelpTopic2_Click(object sender, EventArgs e)
{
helpProvider1.HelpNamespace = Application.StartupPath + @"\" + sHTMLHelpFileName_ShowWithNavigationPane;
Help.ShowHelp(this, helpProvider1.HelpNamespace, @"start.htm");
}

帮助CHM帮助文件已添加到子文件夹中的项目,例如\ HLP。 为了下载,我提供了一个C#VS2008 Project,包括上面的代码和带有不同帮助查看器窗口的帮助文件(仅用于展示案例的不同CHM文件)。

请将#_Toc417986991视为CHM处理器软件生成的内部书签。