灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:6072回复:1

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

楼主#
更多 发布于:2012-09-08 11:55





  一个应用程序不论编制得如何完美,在很多情况下用户还是会对如何使用它提出问题。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的说明资料)。


喜欢0 评分0
wldtk
新手上路
新手上路
  • 注册日期2012-10-11
  • 发帖数38
  • QQ
  • 火币41枚
  • 粉丝1
  • 关注0
沙发#
发布于:2012-11-30 15:13
选择千锋 选择卓越  千锋3G 手机软件开发培训第一品牌

iphone培训
千锋iphone培训

回复(0) 喜欢(0)     评分
游客

返回顶部