How to open CHM file on specified node TOC (.NET)

2019-02-17 07:05发布

Hi I need implement context help inside my .NET application. I have .chm file and I'm looking for possibility to open it in standard viewer and hightlight required topic of TOC (or Index entry)

Any idea how to archive that ?

EDIT:

Maybe MS application used to open CHM file has some command line parameters which allows archive that?

BTW: Where can I find that app?

标签: .net chm
3条回答
倾城 Initia
2楼-- · 2019-02-17 07:49

I think one of the following URL could work or point you to more "web hits" via google. But I think there are some restrictions sometimes like: maybe works only in IE, only if chm in trusted location, some url may only work on certain windows version, ....

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

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

Seems I wasn't specific enough. You should be able to use the above to launch hh.exe from within your application directly and passing this as URI as an argument.

Using System.Diagnostics.Process and launching hh.exe like this

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

should do what you want.

Check HTMLHelp commandline for more examples

查看更多
smile是对你的礼貌
3楼-- · 2019-02-17 07:51

Thanks Jeff I've found solution.

Below method doing that - maybe somebody finds it useful. Thanks for help!

public static void ShowHelpByKeyword(Control sourceControl, string helpFile, string parameter) {
   Help.ShowHelp(sourceControl, helpFile, HelpNavigator.KeywordIndex, parameter);
}
查看更多
欢心
4楼-- · 2019-02-17 08:03

You might want to look into the Help class. It's what I use to display help in Winforms applications.

登录 后发表回答