手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

如何调用chm格式的帮助文件

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
HtmlHelp函数VB声明如下(API浏览器中没有,我自己照VC的声明改的):

Private Declare Function HtmlHelpA Lib "hhctrl.ocx" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long

hwndCaller指出调用者的窗口,pszFile指出要调用的文件,uCommand是发送给
HtmlHelp的命令,dwData是uCommand的参数。

这个函数位于system\hhctrl.ocx中,你安装了IE4以上版本浏览器就应该有

调用举例: HtmlHelpA Form1.hWnd, "C:\Windows\HELP\CALC.CHM", 0, 0 这个是
最简单的例子,uCommand和dwData的组合能产生许多非常复杂的功能 具体情况可
查找MSDN:HTMLHelp API Reference主题

函数的C语言原型和所用到的结构和常量定义参见HTML Help Workshop\include\
htmlhelp.h 当然你必须先安装了Html Help Workshop

hhctrl.ocx文件虽然后缀是OCX却不是控件,而是一个标准的DLL

林夕:

我有点不明白,VB中好象可以直接调用*.chm嘛,如下例,有什么不妥吗?请各位
大虾 指正。

Private Sub Form_Load()
App.HelpFile = "c:\a\a.chm" 注释:如不指明路径,默认为Windows目录下的Help
Me.HelpContextID = 10001
End Sub Private

Sub Command1_Click()
SendKeys "{F1}" 注释:按F1键,系统自动调用帮助
End Sub

hmg:

我用一个小程序试验了一下

form_load()
app.helpfile="c:\1.chm" 注释:文件名是1.chm
end sub

......._click()
cd1.helpfile="c:\1.hlp" 注释:cd1是公用对话框,我故意写成1.hlp
cd1.helpcommand=&h3
cd1.showhelp
end
以上程序居然能成功,莫名其妙 可是在我的大程序里,就不那末顺利,奇怪?

一个偶然的机会我发现 windows目录下的hh.exe可以调用chm的帮助,因此我想到可
以用shell语句, .........
shell "hh.exe 1.chm,.......
..........

hh.exe可以拷到任一目录下执行.

上一篇: 利用API检测文件是否存在
下一篇: 保存列表框的内容-保存列表框内容为文本文件

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!