我想在我的软件中加入一个help,事先已经做好一个chm类型的帮助文件,此chm文件基于HTML Help 1.x 的,双击打开是可以看的,但我需要把它集成到我的软件里,我在工程属性的窗口里指定chm档的路径和名称,但我在软件里点击help菜单时回出现错误:
***.chm file is not a windows Help file,or the file is corrupted.请问如何解决这个问题?
多谢!
***.chm file is not a windows Help file,or the file is corrupted.请问如何解决这个问题?
多谢!
解决方案 »
- 用MSComm怎么判断数据发送完毕?
- 可以让PICTURE控件在不显示图片的时候背景为透明的吗?
- 我有一个rye.ocx控件,怎样才能添加到vb中,并使用?请注明步骤
- 兄弟出学数据库,哪位仁兄可以写一篇感受给和我一样的同志看看
- 要查询符合一定日期时间之内的记录的SQL该怎么写(在线等待,急)
- 一个小问题:请教一个输入法的问题,来者有分
- 高手请进:关于Line Input的一个问题
- 请高手看 一下!在线等候!
- 我用printer.print 打印数据为什么会没反应,只有退出程序才会反应?
- VB中如何使用宏替换??????
- 系统消息..关于任务管理器的关闭....
- 加载自定义控件弹出对象库无效的问题。。
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的说明资料)。