用api调用chm格式的帮助文件
【打印文章】
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可以拷到任一目录下执行.
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可以拷到任一目录下执行.
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】