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

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

编辑:说三道四文库 发布时间:2017-02-23 06:07
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
日本DeNA进军中国智能电视,与海信战略合作 扎克伯格不仅为Poke编码,而且还“献声” Wordament:首款支持Xbox Live成就的iPhone游戏 使用Storm实现实时大数据分析! 孙博凯:微软日益开放,Windows Azure更加拥抱开源 大数据计算:如何仅用1.5KB内存计算十亿个不同的对象 我们为什么爱EC2和S3却彻底抛弃EBS 不畏Surface:诺基亚明年或推Windows平板 Linus Torvalds:用户程序被破坏永远是Kernel的问题! Python高效编程技巧 苹果加速硬件迭代 iPad5原型机曝光 宏碁推99美金平板 价格创历史新低 黑莓10全键盘版代号N系列,谍照泄露! 那些年我们用过的互联网产品 QQ亿级业务演变:从文件、音视频说起 少年企鹅的成长之旅:QQ体验设计发展史 全球超算Top 500:Linux已占93.8%,Windows或将消失 AWS东部地区再次发生宕机 Netflix等网站受影响 2012年全球最美的十个数据中心 CodeCards:程序员电子贺卡DIY项目 微软首席战略官Craig Mundie将于2014年退休 LG明年CES展新款智能电视 增强自然语言识别 微软包嘉峰:企业用户向Windows 8迁移加速 2013年10个科技预测 三维打印技术将成主流 能省电99.96%:微软开发基于云的GPS技术 十个最有用的云数据库 开源产品系列:企业级Web框架web2py 让针对Webkit优化的网站兼容WP8 IE10 CMDN Club 24期:互联网产品的演进之路——从QQ谈互联网14年进化史 360安全浏览器发布“照妖镜”和“网站名片”功能 Windows Server 2012实用教程:添加Hyper-V管理器 超高技术难题,手写的数据窗口数据源代码问题 哪里有source inside,或者是source navigator 谁知道ISO8583的标准 对象,实例,reference有什么区别吗 程序员有时间交女朋友吗????????? 怎样做才能使后面的子程序在前面子程序已经画好的图形里添加画线? 哪里有VC6的英文版下载呀,市场上买不到英文的呀 大家说说看,vc连接access的应用程序,用什么做显示数据好。 有没有雷锋?! ccnuxjg(阿木) 各位高人,我GG考我一个谜语,限我今天答复,请大家帮帮我。(四字成语) 怎样删除重复的行(mssql) 一个页面,如何实现左边为链接信息,右边为内容? 关于模式对话框的问题 项目实战两问,关于操作系统和光盘运行,高手请进! 怎样判断发信成功 CDONTS.NewMail 在杭州搞JSP的,请进来交换QQ,邮件!我们需要交流! 如何用sendmessage让一个窗口最小化 我想把COM+组件的客户端安装包打到install shield 的安装包中,并且自动安装com+客户端安装包,可是。。。。 word2000中不能使用打印功能,为什么? CSDN是怎么了,三天两头出问题啊~!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OleContainer.SaveToFile的文件用Word怎么打不开? vb的多线程如何实现? 这句话是什么意思!!!! 有个女孩问我的代码理论问题……紧急!!有请各路大仙 指针与数组常通用,但一个存值,一个存地址,能不能讲一下他们的内存如何分配,怎样互用的 我一和女朋友有矛盾时,就感到浑身无力,什么也做不下去,脑袋乱七八糟的,做什么都不专一,直到问题解决,不知大家有没有和我有一样感觉的? 海星是南京大学的吗? 请问。vb有没有字体选择的控件(.ocx) 请问在该专区里有没有四川绵阳水校到深圳的王师兄!huan_91_cn@china.com 游戏爱好狂们注意:有没有愿意建立游戏网页!!! 各位大虾请帮忙!!谢谢!!!!! 有关数据报表的处理,采用EXCEL 听说所有Enterprise Manager工具都允许简单地通过单击鼠标来切换身份 怎么恢复? 在数据库中建立临时表来进行数据操作,我对它在使用时何时建立何时删除不太了解,能给我说明一下吗? 如何在触发器中调用存储过程(sql server 或者 oracle)(无内容) 请问哪里有完整版的sql server下载,不要钱的,不要序列号的??? 请较两个英文短语的理解 我要做个套打的程序,希望高手可以提示一点思路,能用QR吗? 加载驱动的问题!! 请教DELPHI中的打印机设置问题,各位师兄请进来看一下! 急问:怎样编程实现打开已保存的quickreport文件(*.QRP)?主要是得到保存的文件名后如何处理打开操作 请问这语句的意思? 在用Rose进行系统分析的过程中,如何对界面的进行详细描述? 谁知道Kylix要在linux内核2.?版本以上才能安装?? 急死菜鸟拉,大家帮帮忙呀 高分求助!!!配置Tomcat4.0 请问那里有php聊天程序?能适合虚拟主机(Unix)、无数据库 有兄弟如此,我..... 我的Access文件怎么变成只读了?怎么变回来? (高二物理)电源电动势与电源电压的区别是什么呢?书上有:“电源的电动势等于电源没有接入电路时两极间的电压.”1 这句话中所说的电压是指电源内部电压呢还是外部电压呢?2 电源接入 为什么霜前冷雪后寒 再生胶价格 电源电动势给解释一下? 天然橡胶垫的硬度怎样选择? 高强力再生胶有什么作用? 电压接近电源电动势说明了什么是两点间电压 ANSYS WORKBENCH 如何定义硬度为85的天然橡胶减震块的材料属性需要在workbench环境下定义一个硬度为85的天然橡胶减震块的属性.由于我没有相应的数据,就在材料库里边选了workbench自带的mooney-rivli 高强力再生胶的拉伸强度是多少呢? 一项工程,甲单独做要15天,乙单独做要20天.现在甲乙合做2天后,乙队抽走.甲队还要几天完成? 5个厚天然橡胶硬度65大概怎么卖的 如果用铅笔触碰蜗牛(外界的刺激),蜗牛会做出相应的反应.蜗牛对刺激做出反应有什么意义? 一项工程,甲队独做20天完成,乙队独做15天完成,现在甲现在先独做5天,剩下的由甲乙合作,还需几天完成?请回答,并写出步骤 怎样理解电源电压和电动势的方向? 汽车奔驰在辽阔平坦的公路上.这句病句怎么修改 “霜前冷,雪后寒”告诉我们什么道理? 电动势是什么,通俗点. 在原句上用修改符号修改病句.汽车奔驰在平坦辽阔的公路上. "霜前冷,雪后寒"包含了什么道理? 什么汽车什么奔驰在什么马路上 扩句 语文:汽车在辽阔平坦的大道上奔驰着 这句话有什么毛病?修改病句. 你听说过“霜前冷,雪后寒”吗?从科学的角度分析这句话的含义是A.霜形成之前的气温一定比下雪后低B.霜形成的气温一定比雪形成时的气温低C.霜后的气温一定比霜形成前高,雪后气温一定比 一项工程,甲乙两队合做要12天完成,现在甲队独做18天,余下的由乙接着做,8天正好做完,如果由甲独做这项工程,要多少天完成? 一项工程,甲乙两队合作12天完工,现先由甲队干18天,乙队接替甲队干8天,正好完工,这项工程如果由甲队↓单独干,需多少天? 俗话说:“霜前冷,雪后寒”请简单叙述它的道理 为什么人们常说“霜后冷,雪后寒”? 一项工程,由甲乙两队合作可12天完成,先由甲做8天,乙接着做18天,恰好可以完成工程,乙做需要多少天急,快啊 NBR低硫硫化体系是什么意思?什么是低硫硫化? 它到底是多少克,密度是天然橡胶体积 = 7.8809110e+04 毫米^3曲面面积 = 3.0771309e+04 毫米^2密度 = 9.5000000e-01 公斤 / 毫米^3质量 = 7.4868654e+04 公斤这东西在proe中计算的,但是实际那个产品的重量是多 一项工程,甲乙合作12天完成;先有甲独做18天因事离开,有乙接着做8天完工,甲乙独做各需几天完工? 常见的硫化体系主要的化合物是哪些? 苯的密度大还是天然橡胶的密度大?苯和天然橡胶的溶解度参数是多少?回答者请注明资料出处. 沈括《海市蜃楼》中一些问题 急!原文:登州海中,时有云气,如宫室、台观、城堞、人物、车马、冠盖,历历可见,谓之“海市”.或日“蛟蜃之气所为”,疑不然也.欧阳文忠曾出使河朔,过高唐 一项工程,如果单独做,甲需10天完工,乙需15天完工,丙需20天完工.现在三人合作一项工程,甲独做需10天完成,乙单独做需15天完成,丙单独做需20天完成.现在三人合作,中途甲先休息一天,乙在休息 怎样理解电压、电量、电流的概念、区别?1楼不详细,我要他们的概念(定义) “宽广的马路上,各式各样的汽车在穿梭来往”改成比喻句 现在有一项工程,甲单独做30天,如果甲和乙合作需要20天,现在甲做了15天,然后乙来完成,还需要几天? 电压的概念是什么 汽车开得快用什么比喻句 异戊二烯制天然橡胶的方程 差模电压和共模电压的定义分别是什么?它们有什么区别? 把”汽车开向前方”改成比喻句 一项工程甲独做30天完成,乙独做15天完成,丙独做20天完成.现在三人合作,中途甲因事休息,这样完成任务一共用了8天,问甲休息了几天?一项工程甲独做30天完成,乙独做15天完成,丙独做20天完 一项工程,单独完成,甲队需要15天,乙队需要20天.现在甲、乙两队合作甲、乙两队各休息了几天,所以用了11天改成12天,已知甲队休息了3天,乙队休息了?天 蜗牛能对外界的刺激做出反应,即具有______________答案具体一点. 一项工作甲工程队单独施工需要30天才能完成,乙队单独需要20天才能完成.现在由甲队单独工作5天,剩下的工一项工作甲工程队单独施工需要30天才能完成,乙队单独需要20天才能完成.现在由甲 一项工程,单独完成,甲队需要15天,乙队需要20天.现在甲、乙两队合作途中甲、乙两队各休息了几天所以用了12天才完成了全工程.又已知甲队休息了3天,求乙队休息了多少天? 如果用铅笔碰蜗牛,蜗牛会做出相应的反应.这说明什么意义?初一的科学作业本第2章第三题. 电动势和电压有什么区别 汽车在马路上慢慢地行驶改为比喻句 十五的月亮像什么?求比喻句. 请问:电动势与电压有什么区别? 一项工程,单独完成,甲队需要15天,乙队需要20天.现在甲乙两队合作,因中途甲乙两队各休息了加添,所以用了12天才完成全工程.已知甲休息了3天,乙队休息了几天? 汽车奔驰的扩写句子速答! 电源电动势和电源电压有什么区别 为什么霜前冷,雪后寒 十五的月亮圆.改为比喻句. 海市蜃楼的成因是( )A.光的直线传播B.光的漫反射C.光的折射D.光的色散 为什么"霜前冷,雪后寒"? 谁有高强力再生胶配方?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn