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


  一个 利用程序 不管编制得如何 圆满,在众多状况下消费者还是会对如何 使用它提出问题 。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的 注明 材料) 。