CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

如何关联帮助文档????

楼主hp2003()2003-09-02 12:40:14 在 VB / 基础类 提问

当按下菜中的“帮助”的时候,怎样才能把已经做好的帮助文档调出来?(帮助文档为D:\Help.CHM)  
  Private   Sub   help_Click()  
  ............(这里应该怎样处理?)  
  End   Sub 问题点数:20、回复次数:7Top

1 楼cuizm(射天狼 http://www.j2soft.cn/)回复于 2003-09-02 12:42:06 得分 0

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   Sub   help_Click()  
  On   Error   GoTo   Errhandle  
          ShellExecute   Me.hwnd,   "open",   "D:\Help.chm",   vbNullString,   vbNullString,   1  
          Exit   Sub  
  Errhandle:  
          MsgBox   Err.Description   &   "!",   vbInformation  
  End   SubTop

2 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:49:30 得分 20

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

3 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:50:26 得分 0

这样最简单:  
   
  Shell   "hh.exe   help.chm",   vbNormalFocus      
  Top

4 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 12:51:37 得分 0

这样最简单:  
   
  Shell   "hh.exe   help.chm",   vbNormalFocus      
  Top

5 楼hp2003()回复于 2003-09-02 14:29:28 得分 0

帮助文档是用记事本做的,然后用国华的电子文档处理器转换成chm帮助文档,为何在运行程序的时候会提示“不能打开文件d:\help.chm”?Top

6 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2003-09-02 14:35:57 得分 0

你双击能打开这个help.chm吗?  
   
  如果双击打不开,就是你的chm文件的问题了Top

7 楼hp2003()回复于 2003-09-02 14:48:09 得分 0

双击能打开!Top

8 楼vansoft(Vansoft Workroom)回复于 2003-09-02 16:32:51 得分 0

工程属性里有设置啊!Top

相关问题

  • Winform中如何打开关联文档
  • 如何保持数据库和word/excle文档的关联
  • 如何调用帮助文档?
  • 如何加入帮助文档?
  • vc中如何创建帮助文档!
  • 帮助文档
  • 帮助文档
  • 帮助文档
  • 自己创建了一个视,如何把它和现有文档类关联
  • 如何将文档类与新建对话框类关联起来?

关键词

  • 文档
  • 文件
  • 函数
  • 代码
  • shell
  • chm
  • 调用
  • 帮助
  • cmdhelp
  • byval

得分解答快速导航

  • 帖主:hp2003
  • lihonggen0

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo