如何关联帮助文档????
当按下菜中的“帮助”的时候,怎样才能把已经做好的帮助文档调出来?(帮助文档为D:\Help.CHM)
Private Sub help_Click()
............(这里应该怎样处理?)
End Sub
问题点数:20、回复次数:7Top
1 楼cuizm(射天狼 http://www.j2soft.cn/)回复于 2003-09-02 12:42:06 得分 0
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub help_Click()
On Error GoTo Errhandle
ShellExecute Me.hwnd, "open", "D:\Help.chm", vbNullString, vbNullString, 1
Exit Sub
Errhandle:
MsgBox Err.Description & "!", vbInformation
End SubTop
2 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:49:30 得分 20
在VB中调用CHM 帮助的几种方法
一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。 Visual Basic 提供了对两种不同帮助系统的支持:传统的 Windows 帮助系统 (WinHelp)和新的 HTML 帮助(CHM帮助)。当我们制作好帮助文件后,就需要在程序的适当位置编写代码进行调用,本文将讨论几种在程序中调用CHM帮助文件的方法。
方法一 使用F1键:
这种方法最简单,只需如下代码即可:
Private Sub Form_Load()
App.HelpFile = app.path & "\help.chm" '调用与主程序同目录下的help.chm帮助文件,按F1键调用
End Sub
方法二 使用SendKeys方法:
Private Sub Form_Load()
App.HelpFile = app.path & "\help.chm"
End Sub
private Sub CmdHelp_Click()
SendKeys "{F1}" '发送击键到活动窗口
End Sub
方法三 使用Shell函数:
private Sub CmdHelp_Click()
Shell "hh.exe help.chm", vbNormalFocus 'help.chm为指定的帮助文件,可包含路径。
End Sub
方法四 使用HtmlHelp函数:
先声明如下API:
Option Explicit
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的参数。
然后在过程中调用:
private Sub CmdHelp_Click()
dim i as string
i = app.path & "\help.chm" '用变量i记录与主程序同目录下的help.chm帮助文件
HtmlHelpA Form1.hWnd, i, 0, 0
End Sub
方法五 使用ShellExecute函数:
先声明如下API:
Option Explicit
'声明API函数用于异步打开一个文档
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
然后在过程中调用:
private Sub CmdHelp_Click()
dim a as long
Dim b As String
b = App.Path & "\help.chm" '用变量b记录与主程序同目录下的help.chm帮助文件
a = ShellExecute (0, "open", b, "", "", SW_SHOWNORMAL)
End Sub
以上五种方法各有优缺点,从代码的简单上讲,建议使用第二种方法。从功能上讲,建议使用第五种方法,因其不只用于打开CHM帮助文件,还可用同样的格式打开、打印或查找一个文件或文档(参见该API的说明资料)。
Top
3 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:50:26 得分 0
这样最简单:
Shell "hh.exe help.chm", vbNormalFocus
Top
4 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:51:37 得分 0
这样最简单:
Shell "hh.exe help.chm", vbNormalFocus
Top
5 楼hp2003()回复于 2003-09-02 14:29:28 得分 0
帮助文档是用记事本做的,然后用国华的电子文档处理器转换成chm帮助文档,为何在运行程序的时候会提示“不能打开文件d:\help.chm”?Top
6 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 14:35:57 得分 0
你双击能打开这个help.chm吗?
如果双击打不开,就是你的chm文件的问题了Top
7 楼hp2003()回复于 2003-09-02 14:48:09 得分 0
双击能打开!Top
8 楼vansoft(Vansoft Workroom)回复于 2003-09-02 16:32:51 得分 0
工程属性里有设置啊!Top




