请教:chm文件打开如何跳转到某一标题?用shell打开,无法跳转,只能默认显示首页。有没有办法打开chm文件自动跳转到某标题?

解决方案 »

  1.   

    在Delphi中,要调用Chm文件可以通过引用HHctrl.ocx文件的函数HtmlHelpA实现。
      不过在这里,我们也可以使用API函数ShellExecute来打开Chm帮助文件。
      在网上找到的资料,通常以
      ShellExecute(self.Handle,'open','help.chm','', '',SW_SHOW);?
      的方式来实现。
      但有个不足,就是不能打开指定的帮助页面,所显示的是帮助文档的起始页面。
      想到Chm文件被关联到hh.exe程序,那只要执行hh.exe程序,并传入指定页面的地址,则应该可以打开指定帮助页面。
      方法如下:
      ShellExecute(self.Handle
      ,'open'
      ,'hh.exe'
      ,'mk:@MSITStore:' + ExtractFilePath(Application.ExeName) + 'wordimggener.chm::/html/welcome.htm'
      , ''
      ,SW_SHOW);?
      只要在Form的onHelp事件中,对应当前ActiveControl,传入相应的地址就可以显示相关的帮助信息。
      也可以在Form中加入一个ActionList,添加一个动作,设置快捷键为F1,在Execute事件中调用上面的函数来打开Chm帮助文档,当不失是一个简便的方法。