在VB中调用CHM帮助的几种方法

来源:网络时间:2011-04-25 13:01:56

  一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。VisualBasic提供了对两种不同帮助系统的支持:传统的windows帮助系统(WinHelp)和新的HTML帮助(CHM帮助)。当我们制作好帮助文件后,就需要在程序的适当位置编写代码进行调用,本文将讨论几种在程序中调用CHM帮助文件的方法。

  方法一 使用F1键:

  这种方法最简单,只需如下代码即可:

->PrivateSubForm_Load()

App.HelpFile=app.path&"\help.chm"'调用与主程序同目录下的help.chm帮助文件,按F1键调用

EndSub-> 

  方法二使用SendKeys方法:

->PrivateSubForm_Load()

App.HelpFile=app.path&"\help.chm"

EndSub

privateSubCmdHelp_Click()

SendKeys"{F1}"'发送击键到活动窗口

EndSub-> 

  方法三使用Shell函数:

->privateSubCmdHelp_Click()

Shell"hh.exehelp.chm",vbNormalFocus'help.chm为指定的帮助文件,可包含路径。

EndSub-> 

  方法四使用HtmlHelp函数:

  先声明如下API:

->OptionExplicit

PrivateDeclareFunctionHtmlHelpALib"hhctrl.ocx"

(ByValhwndCallerAsLong,ByValpszFileAsString,ByValuCommandAsLong,ByValdwDataAsLong)AsLong

'hwndCaller指定调用者的窗口,pszFile指定要调用的文件,uCommand是发送给HtmlHelp的命令,dwData是uCommand的参数。-> 

  然后在过程中调用:

->privateSubCmdHelp_Click()

dimiasstring

i=app.path&"\help.chm"'用变量i记录与主程序同目录下的help.chm帮助文件

HtmlHelpAForm1.hWnd,i,0,0

EndSub-> 

  方法五使用ShellExecute函数:

  先声明如下API:

->OptionExplicit

'声明API函数用于异步打开一个文档

PrivateDeclareFunctionShellExecuteLib"shell32.dll"Alias"ShellExecuteA"

(ByValhwndAsLong,ByVallpOperationAsString,ByVallpFileAsString,

ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLong

PrivateConstSW_SHOWNORMAL=1-> 

  然后在过程中调用:

->privateSubCmdHelp_Click()

dimaaslong

DimbasString

b=App.Path&"\help.chm"'用变量b记录与主程序同目录下的help.chm帮助文件

a=ShellExecute(0,"open",b,"","",SW_SHOWNORMAL)

EndSub-> 

  以上五种方法各有优缺点,从代码的简单上讲,建议使用第二种方法。从功能上讲,建议使用第五种方法,因其不只用于打开CHM帮助文件,还可用同样的格式打开、打印或查找一个文件或文档(参见该API的说明资料)。

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:9145908@qq.com