HtmlHelp函数VB声明如下(API浏览器中没有,我自己照VC的声明改的):
PrivateDeclareFunctionHtmlHelpALib”hhctrl.ocx”(ByValhwndCallerAsLong,ByValpszFileAsString,ByValuCommandAsLong,ByValdwDataAsLong)AsLong
hwndCaller指出调用者的窗口,pszFile指出要调用的文件,uCommand是发送给
HtmlHelp的命令,dwData是uCommand的参数。
这个函数位于system\hhctrl.ocx中,你安装了IE4以上版本浏览器就应该有
调用举例:HtmlHelpAForm1.hWnd,”C:\WINDOWS\HELP\CALC.CHM”,0,0这个是
最简单的例子,uCommand和dwData的组合能产生许多非常复杂的功能具体情况可
查找MSDN:HTMLHelpAPIReference主题
函数的C语言原型和所用到的结构和常量定义参见HTMLHelpWorkshop\include\
htmlhelp.h当然你必须先安装了HtmlHelpWorkshop
hhctrl.ocx文件虽然后缀是OCX却不是控件,而是一个标准的DLL
林夕:
我有点不明白,VB中好象可以直接调用*.chm嘛,如下例,有什么不妥吗?请各位
大虾指正。
PrivateSubForm_Load()
App.HelpFile=”c:\a\a.chm”注释:如不指明路径,默认为Windows目录下的Help
Me.HelpContextID=10001
EndSubPrivate
SubCommand1_Click()
SendKeys”{F1}”注释:按F1键,系统自动调用帮助
EndSub
hmg:
我用一个小程序试验了一下
form_load()
app.helpfile=”c:\1.chm”注释:文件名是1.chm
endsub
……._click()
cd1.helpfile=”c:\1.hlp”注释:cd1是公用对话框,我故意写成1.hlp
cd1.helpcommand=&h3
cd1.showhelp
end
以上程序居然能成功,莫名其妙可是在我的大程序里,就不那末顺利,奇怪?
一个偶然的机会我发现windows目录下的hh.exe可以调用chm的帮助,因此我想到可
以用shell语句,………
shell”hh.exe1.chm,…….
……….
hh.exe可以拷到任一目录下执行.->