飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2456|回复: 0

在Delphi中调用CHM帮助文件

[复制链接]
  • TA的每日心情
    开心
    2019-9-19 16:05
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2007-2-8 10:50:25 | 显示全部楼层 |阅读模式
    在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帮助文档,当不失是一个简便的方法。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表