如何在指定节点 TOC (.NET) 上打开 CHM 文件

Posted

技术标签:

【中文标题】如何在指定节点 TOC (.NET) 上打开 CHM 文件【英文标题】:How to open CHM file on specified node TOC (.NET) 【发布时间】:2010-11-03 15:03:19 【问题描述】:

您好,我需要在 .NET 应用程序中实现上下文帮助。 我有 .chm 文件,我正在寻找在标准查看器中打开它并突出显示 TOC(或索引条目)所需主题的可能性

知道如何存档吗?

编辑:

也许用于打开 CHM 文件的 MS 应用程序有一些允许存档的命令行参数?

顺便说一句:我在哪里可以找到那个应用程序?

【问题讨论】:

【参考方案1】:

我认为以下 URL 之一可能有效,或者通过 google 将您指向更多“网络点击”。但我认为有时会有一些限制,例如:可能仅在 IE 中有效,仅当 chm 在受信任的位置时,某些 url 可能仅适用于某些 Windows 版本,....

mk:@MSITStore:C:\test.chm::/testpage.htm

ms-its:.\test.chm::/html/test.htm

似乎我不够具体。您应该能够使用上述内容直接从您的应用程序中启动 hh.exe 并将其作为 URI 作为参数传递。

使用 System.Diagnostics.Process 并像这样启动 hh.exe

hh.exe mk:@MSITStore:C:\test.chm::/test.htm

应该做你想做的。

查看HTMLHelp commandline 了解更多示例

【讨论】:

你能给我更多的信息,我该怎么做wietk这个synax?通过 iExplore 打开它,从 c# 作为新进程运行??我只是想打开 Microsoft HTML 帮助应用程序并突出显示指定的帮助项并显示它的内容 我的回答更具体 +1 因为它确实有效。但我发现 Jeff 的帖子是最好的方法。谢谢【参考方案2】:

您可能想查看Help 类。这是我用来在 Winforms 应用程序中显示帮助的工具。

【讨论】:

看起来不错 - 会检查它。同时-您有任何示例(链接)如何使用它吗? 对不起 - 我不太懒 - 我错过了你提到的页面上的示例。会先检查一下【参考方案3】:

感谢 Jeff,我找到了解决方案。

下面的方法 - 也许有人觉得它有用。 感谢您的帮助!

public static void ShowHelpByKeyword(Control sourceControl, string helpFile, string parameter) 
   Help.ShowHelp(sourceControl, helpFile, HelpNavigator.KeywordIndex, parameter);

【讨论】:

我觉得它很有用。感谢您的回答和主题! :)

以上是关于如何在指定节点 TOC (.NET) 上打开 CHM 文件的主要内容,如果未能解决你的问题,请参考以下文章

xml转换为json格式时,如何将指定节点转换成数组 Json.NET

使用XPath查询节点时如何指定命名空间?

如何指定 OpenMPI 使用的端口范围?

C# .NET winform 打开指定(谷歌)浏览器,如何设置cookie 实现自动登录

如何查看本机上安装的.NET Framework版本

小程序开发,如何删除数组指定的节点