VB编程调用.CHM帮助文件五法

开发
本文将讨论几种在VB编程中,如何在程序中调用CHM帮助文件的方法。包括使用F1键、使用SendKeys方法、使用Shell函数等等。

(一)使用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软件开发网www.mscto.com

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的说明资料)。

【编辑推荐】

  1. VB.NET和C#逐层横向对比
  2. VB中移动当前记录的方法
  3. 使用VB6.0实现一种五线谱作曲工具
责任编辑:彭凡 来源: 51CTO
相关推荐

2010-01-20 18:57:20

VB.NET调用CHM

2015-03-10 13:11:55

2009-04-04 09:32:37

Windows 7微软操作系统

2009-04-08 08:51:29

Windows 7微软操作系统

2016-10-18 13:54:26

Windows 10hlp帮助文件

2018-11-07 09:35:50

2018-11-20 10:09:28

网络安全网络安全技术周刊

2017-08-10 14:15:31

Windows10Windows文件转换

2009-11-04 13:12:33

VB.NET面向对象编

2010-01-22 14:19:38

VB.NET调用jar

2009-10-23 17:03:18

VB.NET事件编程

2009-10-13 11:22:46

VB.NET调用Web

2010-01-19 18:24:29

VB.NET调用Win

2009-10-28 16:27:42

VB.NET编程

2009-11-02 15:16:07

VB.NET编程

2011-06-08 16:05:34

VB数组

2009-11-10 13:08:13

VB.NET编程技巧

2010-01-14 17:11:17

VB.NET枚举

2009-10-14 15:34:29

VB.NET窗体编程模

2009-11-02 15:08:58

VB.NET Obje
点赞
收藏

51CTO技术栈公众号