说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

怎样在VB中调用.chm帮助文件?

编辑:说三道四文库 发布时间:2017-03-28 06:20
HTML文档下载 WORD文档下载 PDF文档下载
我想在VB中调用.chm帮助文件,请高手指点。按一下command控件就显示自己编的.chm帮助文件。
如何调用chm帮助文件
我把帮助做成chm格式,请问如何在VB中调用?  
---------------------------------------------------------------  
 
在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的说明资料)。    


               问题解决,请结贴!
可以在工程/属性/通用页框中添加你的帮助文件
'******************************************* Html help 声明
Public Const HH_DISPLAY_TOPIC = &H0
Public Const HH_SET_WIN_TYPE = &H4
Public Const HH_GET_WIN_TYPE = &H5
Public Const HH_GET_WIN_HANDLE = &H6
Public Const HH_DISPLAY_TEXT_POPUP = &HE   ' Display string resource ID or
                                          ' text in a pop-up window.
Public Const HH_HELP_CONTEXT = &HF         ' Display mapped numeric value in
                                          ' dwData.
Public Const HH_TP_HELP_CONTEXTMENU = &H10 ' Text pop-up help, similar to
                                          ' WinHelp's HELP_CONTEXTMENU.
Public Const HH_TP_HELP_WM_HELP = &H11     ' text pop-up help, similar to
                                          ' WinHelp's HELP_WM_HELP.

Public Declare Function HtmlHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszFile As String, ByVal uCommand As Long, ByVal dwData As Long) As Long
'*******************************************

'调用*.chm中的某个页面

Private Sub cmd_style_Click()
    Dim hwndHelp As Long
    hwndHelp = HtmlHelp(hwnd, App.Path & "\MakeScript.chm::/eb_style.htm#1", HH_DISPLAY_TOPIC, 0)
End Sub
在Delphi动态生成定义数据库 在Delphi中处理数据库日期型字段的显示与输入 在Delphi中简单实现多重查询 在Delphi中建立和使用别名 在DELPHI中使用ADO对象存取ODBC数据库 在Delphi中使用DBF数据 在Delphi中随意控制DBGrid 每一行的颜色 在Delphi中自动检测、建立数据库别名和表格 在存储过程中使用use database-Delphi资料 在一个Dbgrid中显示多数据库-Delphi资料 在运行期创建表-Delphi资料 怎样把可以使用的表名输出到一个选择框?-Delphi资料 怎样发布基于Microsoft SQL Server的程序-Delphi资料 怎样解决打开一个DBF表时的Index not found..错误-Delphi资料 怎样向SQL Server插入带有Image字段的记录-Delphi资料 怎样在Paradox表中加密码?-Delphi资料 自动Login数据库-Delphi资料 自动检测、建立数据库别名和表格-Delphi资料 自动注册Paradox-Delphi资料 Delphi 4增訂的Object Pascal Delphi 5 Enterprise版10大特点 Delphi 插件创建、调试与使用应用程序扩展 Delphi 程序制作要点 Delphi 中面向对象编程之我见 Delphi”程序级触发器”功能的实现 Delphi4.0系统提示信息的汉化 Delphi5优化 Delphi编程技巧十则 Delphi程序制作要点 Delphi的类型转换 Delphi第三方控件大测评 想找个老师帮我提高 要做一个dll需要在不同的平台调用该如何声明? 硬盘分区表是哪个文件? 我准备写篇有关软件企业的管理的文章,谁愿提供建议和材料,谢谢! 急!如何在VB中控制扫描仪,并按要求取得图象? 高手请指点 [给分]请global_boy(准备蒸发)进来领分!帮助解决Win2000启动选项的配置..原贴:http://www.csdn.net/expert/topic/592/592163.xml?temp= 请教高手!如何通过文件名获得其图标 MCSE?! 数据连接错误? 如何让datagrid绑定数据 ISAPI程序里输出的网页无法显示,大家救命! 请问如何在Jb6中使用中文字体,比如说宋体 HTTP 和 FTP 一个黑客问题? SQL 急的!谢谢大家帮忙!关于interbase与c++builder5的连接。 请教高手! 哪里有免费下载<thinking in c++>等图书的? 那位大侠懂在 VC 中用汇编??? 有会命名管道操作的高手吗 请教高手! 异步传送的问题? 如何杀死某个进程呢? 苦行僧与灌木丛来领分 如何把一个string转换成int delphi与Access ADO连接的详细设置? 请问能否用C#实现进程的完全隐藏? 创天中文VC6.0的问题????? 有谁知道类似WINDOWS98那个星空的屏保是如何实现的? 请各位大虾提供一些JAVA开发工具的下载网址 在Web Service中传递图像字段数据回客户端的问题!请教大侠! 买过深入浅出MFC的朋友请进~~~~~~ 会Java的究竟难不难找工作啊? 有什么方法可以让自己的机子有假的ip呢? root 是不是可以无限制看其他用户的文件? 高手看了吐血的问题(WinXP下无法执行.asp脚本) 这段代码错在那?? 我安装了一个winXp和win98,如何卸载win98阿,谢谢。 如何在picture控件里方便的画出坐标系,要完整的,要是一条一条画太麻烦了 在ASP中如何产生一个类似CLSID的,不会重复的值? flash5里如何制作填充渐变为任一色到透明色填充? 关于SESSION的问题 ado里怎么压缩access数据库 100分在线 谁发扬一下共享精神,借我看看背单词软件的源代码!!谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 急啊,有谁有读写客户端数据库的控件,希诺在吗 己经开发了一个sql server2000与ASP的系统,怎么把数据库移到别的机子上去运行! 关于quake 如何把同一内容,通过一个按钮,提交到不同的地方(仅用javascript或html) 请问谁有bea的jdbc driver for mssql的license 哪位朋友知道钱能的《C++程序设计题解》下载,小弟先谢了! 游记作文700字左右.要开学了. 观2012有感,新颖的题目. 英语作文:英国笔友想知道李华高三的学习和备考情况.李华回信内容: 1.来自老师的压力 2.来自同学英语作文:英国笔友想知道李华高三的学习和备考情况.李华回信内容:1.来自老师的压力 关于省略号的含义. 读后感作文的题目 我要考托福,问下如果没有学过toefl的话,能考到多少分? 写出句中省略号的作用 (1) 母亲大声问:“你来干什么?” “我……”还有:“有事快说,别耽误妈干活!”“我……要钱……” 游记作文700字 如果只考托福不考Sat ,能进排名前100的大学吗,托福至少要达到多少分呢 请问省略号表示多少种意思?各有是什么? 游记作文800字广东省内游啊,不要太夸张 在成都考托福 托福分数达到80分好考吗?知道的请回答 推荐母爱的作文 还要写300字推荐理由仅限两天啊 不知道的别乱发混积分 机不可失失不再来 省略号的含义省略号的所有含义,像省略等等拉 游记作文700字! 第一次考托福93怎么办?求分析!谢谢.我在读高二,托福目标能上110最好这次阅读26,听力23,口语20,写作24.感觉我平时口语、听力不错啊,在学校里用英语交流很自如,而一到考场就讲得很结巴.像我 省略号的意思是什么 回家去问妈妈(毕淑敏)阅读、答案文章太长,打不下~去网上看看吧~1、当我游敦煌回来时,那些词表现了我激动的神情?从哪些词语中表现出妈妈和我相反的神情?这是什么写法?2、所有的妈妈 还有十天考托福 第一次 高手给点建议 其实已经好久没去学校上学了,却也没在家里好好学托福,现在好后悔.我自认为单词还可以 ,听力还凑合,平常做tpo大概错8个以内吧,阅读原来做了,一般一 有一只小狗问她的妈妈,妈妈,妈妈,幸福是什么?她在哪里呢? 回家去问妈妈(毕淑敏) 阅读题 第一次考托福~提前多久进考场?我报的考位是在广州外国语,不知道环境如何,报考人似乎不多,那边一直有考位.我口语和听力都不错.但是我现在担心的就是,如果我在听力的时候别人开始考口 一只小狗问妈妈幸福是什么的作文 速度 500字哥们 500字你那 什么啊 .... 无奈了 考托福托福是什么?考了托福能干嘛? 第一次考托福 应该选择哪些付款选项? 一只小狗问他的妈妈幸福是什么的作文 想考托福有3个月的准备时间 平时成绩110左右吧 如果拼命努力的话托福大概考多少能不能至少达到80以上 观2012年春晚《天网恢恢》有感作文600字 一篇游记的作文600字的 还有半年的时间考托福,怎样才能更好的去理解托福阅读文章呢? 2012年春晚节目《天网恢恢》的观后感500字左右 好的加分(最好先写小品的情节 然后写自己的感受) 看2010春节联欢晚会后有感作文急! 请问我想2011年2月份考托福,应该在什么时候报名啊?我北京的 观2012年春晚刘谦魔术有感作文600字 观2010春晚有感 作文 写游记的作文600字要有意义,写春天的! 作文《2012年看春晚的感想》各位帮我整一篇呗、五百子以上哦、 看2010春节联欢晚会后有感作文400字左右急 一篇优秀的游记作文(写事的)500-600字 观2010春晚有感作文各位大哥大姐帮忙啊!800字左右.25日前要用啊 .! 要有自己的感受! 作文 《春晚的感受》 观2011春晚有感500--600字左右的议论文,重点写其中的1、2个节目,反映了什么社会现象,有什么亮点.语言深刻、朴实,富有表现力.好的有加分.(文章多一个/少一个字扣五分)o()^))o 唉、1L的 准备了一个月后第一次去考托福才60分,现在是初二,上90大概要多长时间如题,虽然预计也就60来分了,但还是不太满意之前是没怎么准备的,所以来问一下突击的话两个月以后上90有没有可能 关于猫妈妈和小猫当初我家的院子里有一只母猫生了3只小猫.然后我发现他们是在他们一个月左右,然后我就看太可爱了所以抓了两只猫回来,我想让他们保持野性,又让他们知道我们,所以三天 观2011春节联欢晚会有感是要2011年的,还要是中央台的,答好了另外加分! 我打算13年11月份考托福,请问什么时间报名比较合适?怎么报名?第一次考托福,不太懂,恳请会的帮帮忙,谢谢各位 猫妈妈不见小猫怎么办? 观09年春晚有感求一份09年春晚的作文 这种情况第一次考托福大概多少分?现大三.大一上学期四级623,下学期六级592,都是背了一点单词直接考的.后来就没怎么碰英语了……两周前突然被要求考托福,现在题型基本都已熟悉,口语模板 从现在开始准备SAT来得及吗..准备六月考2,暑假考托福,十月考1英语基础还是不错的 已经高二下了 两年后要考托福,现在有必要报托福班熟悉吗?想先了解清楚有针对性的训练 考托福要准备多长时间比较好? 关于考托福和sat的准备~我现在准备开学上高一,想去美国读大学,最迟想在高二上学期就考完然后申请学校。我知道难度可能有点大~初中英语基础比较好。想得到最详细的准备计划,现在是9 准备考托福,报名是个老大难的问题,大家推荐个托福代报吧希望是信誉好的,不要是什么骗子公司 小红和小明的铅笔枝数相等,如果奶奶给小红16枝铅笔,给小明2枝铅笔,那么小红的铅笔支数就是小明的3倍,原来小红和小明各有几只铅笔?请详细解答. 先准备SAT,再考托福可以吗? 春节游记作文800字别太远福州境内,不是境内最好农村的比较好改,最后一天了,拜托拜托!这个是高中的作文,水平起码也要初中水平 写游记作文600字左右、、急! 高中生想考托福和SAT要做什么准备?我今年初中才毕业,马上就要去军训,然后开始高中生活,我想高中毕业后去美国读本科,目标是世界百强的大学..我的英语一般,虽然从分数上看还不错,但是总 一篇游记的文章,800字.一篇写游记的文章,散文,抒情,意境,最好是春天的.
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘