怎样调用.chm文件?(50分)

  • 主题发起人 主题发起人 netsong
  • 开始时间 开始时间
ShellExecute(handle, 'open', 'C:/wjiachun.chm',nil, nil, sw_ShowNormal);<br>
 
如何调用chm格式的帮助文件 &nbsp; <br>--------------------------------------------------------------------------------<br>人气指数:1561<br><br><br>&nbsp;<br><br><br><br>如何调用chm格式的帮助文件 <br>------------------------------------------------------------------------ <br>-------- <br>本文摘自万千新闻组上的讨论 <br><br>BFG10K: <br><br>HtmlHelp函数VB声明如下(API浏览器中没有,我自己照VC的声明改的): <br><br>Private Declare Function HtmlHelpA Lib "hhctrl.ocx" (ByVal hwndCaller As <br>Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As <br>Long) As Long <br><br>hwndCaller指出调用者的窗口,pszFile指出要调用的文件,uCommand是发送给 <br>HtmlHelp的命令,dwData是uCommand的参数。 <br><br>这个函数位于system/hhctrl.ocx中,你安装了IE4以上版本浏览器就应该有 <br><br>调用举例: HtmlHelpA Form1.hWnd, "C:/WINDOWS/HELP/CALC.CHM", 0, 0 这个是 <br>最简单的例子,uCommand和dwData的组合能产生许多非常复杂的功能 具体情况可 <br>查找MSDN:HTMLHelp API Reference主题 <br><br>函数的C语言原型和所用到的结构和常量定义参见HTML Help Workshop/include/ <br>htmlhelp.h 当然你必须先安装了Html Help Workshop <br><br>hhctrl.ocx文件虽然后缀是OCX却不是控件,而是一个标准的DLL <br><br>林夕: <br><br>我有点不明白,VB中好象可以直接调用*.chm嘛,如下例,有什么不妥吗?请各位 <br>大虾 指正。 <br><br>Private Sub Form_Load() <br>App.HelpFile = "c:/a/a.chm" '如不指明路径,默认为Windows目录下的Help <br>Me.HelpContextID = 10001 <br>End Sub Private <br><br>Sub Command1_Click() <br>SendKeys "{F1}" '按F1键,系统自动调用帮助 <br>End Sub <br><br>hmg: <br><br>我用一个小程序试验了一下 <br><br>form_load() <br>app.helpfile="c:/1.chm" '文件名是1.chm <br>end sub <br><br>......._click() <br>cd1.helpfile="c:/1.hlp" 'cd1是公用对话框,我故意写成1.hlp <br>cd1.helpcommand=&amp;h3 <br>cd1.showhelp <br>end <br>以上程序居然能成功,莫名其妙 可是在我的大程序里,就不那末顺利,奇怪? <br><br>一个偶然的机会我发现 windows目录下的hh.exe可以调用chm的帮助,因此我想到可 <br>以用shell语句, ......... <br>shell "hh.exe 1.chm,....... <br>.......... <br><br>hh.exe可以拷到任一目录下执行.<br><br>&nbsp;<br>
 
还是用wjiachun的方法吧,简单好用。
 
ShellExecute没问题
 
wjiachun的方法无法实现上下文帮助
 
wangxd: CHM格式的帮助你看到哪个软件做到“上下文帮助”了?
 
不过好像.chm文件和.hlp文件一样都有索引句柄(不知道是不是叫这个名字,大家知道<br>就行了),但我不知道怎么用。
 
我在csdn中查到一个api: htmlhelp(),但在D5中有没有呀?
 
怎样实现按键F1弹出帮助?象用.hlp文件一样?<br>(不想用键盘Hook)
 
通过控件的属性改一下就行了
 
www.delphi-jedi.org的api libary里有htmlhelp的函数包,帮助很详细
 
to wjiachun:<br>VB6好象做到了上下文帮助!,而且msdn就是用hh.exe来调用帮助文件的。
 
CHM已经被WINDOWS注册,直接执行即可,同意wjiachun
 
直接使用WINDOWS的帮助来查看也可以的吧.
 
我也想知道
 
to qiaohj: 修改什么控件的哪个属性?
 
*.chm 可以直接在 win 下执行<br>所以用 winexec,shellexecute 都可以直接调用
 
怎样实现按键F1弹出帮助?象用.hlp文件一样?<br>(不想用键盘Hook)<br>
 
wjiachun的方法确实无法实现上下文帮助,应该怎么办才行?
 
后退
顶部