在 Delphi 中, 要调用 chm 文件可以通过引用 hhctrl.ocx 文件的函数 htmlhelpa 实现。
不过在这里 , 我们也可以使用 API 函数 ShellexCute 来打开 CHM 帮助文件。
在网上找到的资料 通常以 通常以
ShellexCute (Self.Handle, 'Open', 'Help.Chm', '', '', Sw_Show);?
的方式来实现。
但有个不足 , 就是不能打开指定的帮助页面 所显示的是帮助文档的起始页面。 所显示的是帮助文档的起始页面。
想到 chm 文件被关联到 hh.exe 程序 , 那只要执行 hh.exe 程序 , 并传入指定页面的地址 则应该可以打开指定帮助页面。 则应该可以打开指定帮助页面。
方法如下 :
ShellexCute (self.handle
,'abierto'
, 'hh.exe'
, 'mk: @MsitStore:' + ExtractFilePath (Application.exename) + 'Wordimggener.chm ::/html/Welcome.htm'
, ''
, Sw_show);?
只要在 Forma 的 onhelp 事件中 , 对应当前 activecontrol , 传入相应的地址就可以显示相关的帮助信息。
也可以在 Forma 中加入一个 ActionList, 添加一个动作 , 设置快捷键为 F1 , 在 Ejecutar 事件中调用上面的函数来打开 CHM 帮助文档 , 当不失是一个简便的方法。