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

在VB中怎么调用CHM的格式帮助文件.

编辑:说三道四文库 发布时间:2017-07-24 02:54
HTML文档下载 WORD文档下载 PDF文档下载
在VB中怎么调用CHM的格式帮助文件.
HWND HtmlHelp(HWND hwndCaller, 
LPCSTR pszFile, UINT uCommand, DWORD 
dwData);

---- 按照说明,参数hwndCaller是窗口的句柄,pszFile是HTML帮助文件的路径和名称, uCommand表明执行的操作,dwData是uCommand参数所必需的值。它包含在哪个文件中,如何将它转为VB的格式呢?仔细对帮助文件进行研究,帮助文件中提到:HTMLHELP函数被包含在hhctrl.ocx文件中。于是就得到了HTMLHELP函数在VB中的声明: 
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

如果我要根据窗体上的内容来,直接跳到帮助文件的某一页,怎么办?
方法一(通过调用帮助的api 推荐~)
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

Private Sub Command1_Click()
    HtmlHelpA Me.hWnd, "C:\WINDOWS\HELP\CALC.CHM", 0, 0 '注意路径
End Sub

方法二(通过运行chm文件)
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

ShellExecute 0, "open", "C:\WINDOWS\HELP\CALC.CHM", 0, 0, 1
最简单的方法,不久前刚试过
private sub command1_click()
  shell "hh.exe 文件名.chm"
end sub
最简单的方法,不久前刚试过
private sub command1_click()
  shell "hh.exe 文件名.chm"
end sub

hh.exe 在c:\windows里,可以copy到你程序所在的目录里
不用copy hh.exe了,只要这样:
声明API ShellExecute:
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

在要执行CHM的地方写:
Dim ret
ret=ShellExecute(Me.hWnd,"Open",App.Path & "\Example.chm",vbNullString,vbNullString,vbNull)
就可以了。
最简单的方法,不久前刚试过
private sub command1_click()
  shell "文件名.chm"
end sub
不行呀,总是第一页,如果我要一点击就进入第10页,我做法为:
Private Sub Command1_Click()
    HtmlHelpA Me.hWnd, "C:\WINDOWS\HELP\CALC.CHM", 1, 10 
End Sub
可不能实现?怎办?
试试看(一)
Private Sub Command1_Click()
    HtmlHelpA Me.hWnd, "C:\WINDOWS\HELP\CALC.CHM::xxx.htm", 1, 10 
End Sub
试试看(二)
Private Sub Command1_Click()
    ShellExecute 0, "open", "C:\WINDOWS\HELP\CALC.CHM::xxx.htm", 0, 0, 1
End Sub

注:xxx.htm 是你想调的网页
Private Declare Function htmlhelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwnd As Long, ByVal lpHelpFile As String, ByVal wCommand As Long, ByVal dwData As Long) As Long

'显示指定的帮助文件(STRHELPFILENAME[CHM类型])中的指定网页(STRHTMLFILENAME),成功返回帮助窗口句柄,错误返回0
Public Function fun_ShowHelp(ByVal hwnd As Long, ByVal strHelpFileName As String, Optional ByVal strHtmlFileName As String) As Long
    Dim lRet As Long
    If IsMissing(strHtmlFileName) Then
        lRet = htmlhelp(hwnd, strHelpFileName, 0, 0)
    Else
        lRet = htmlhelp(hwnd, strHelpFileName & "::/" & strHtmlFileName, 0, 0)
    End If
    fun_ShowHelp = lRet
End Function
苹果将于6月10日召开WWDC 新版OS X和iOS或将面世 传Amazon今年秋季发布电视机顶盒设备 够快:不会3种以上语言的程序员不是好程序员 Cloud Foundry、Greenplum获通用电气1亿美元注资 微软推超强Android应用Switch to Windows Phone Unity CEO宣布:放弃支持Flash平台 为交房租做App:我第一年赚了7万美金 iOS越狱大神Comex加盟Google 曾错过苹果Offer 维基百科正式从MySQL迁移到MariaDB数据库 JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember 大数据推广引领精准推广浪潮 ThoughtWorks负责人曾学海:数字渠道细分带来的架构演进 你画我猜2 : Draw Something 2正式发布 云中游科技CEO张帆:畅谈“找你妹”的自营销 Oracle当心,MySQL原始团队已重整旗鼓! 优秀的Meteor学习资源 ThoughtWorks美女分析师:如何规划企业在线数字渠道战略? OpenStack将怎样影响软件行业? 知识产权日特稿:谁动了程序员的源代码版权? MIT技术评论评选2013十大突破性技术:深度学习居首 Chrome测试版添扩展程序 可直接浏览Office文档 Ubuntu 13.04携中文衍生版UbuntuKylin 13.04发布 Spark核心开发者:性能超Hadoop百倍,算法实现仅有其1/10或1/100 移动开发的碎片化时代,我们该怎么办? 谈应用分发控制力:还是渠道为王 Unity亚洲开发者大会:手游半衰期越短,开发者手中的机会越多 《割绳子》开发者:俄罗斯双胞胎的奋斗史 曾应聘Rovio未果 Win7系统上常见IE 10问题汇总 如果苹果推廉价手机,市场份额会不会超过安卓? 移动互联网下,如何做儿童新音乐? 第三届“中科杯”全国软件设计大赛正式启动 一个很简单的问题 读取远程的页面文件内容,但需要搜索结果的页面,请问如何实现??? 写了一个telnet服务器端程序,不能用exit退出,请大家帮忙看看~~谢谢! ?!我怎么看不了帖子内容啊?!点开每一贴都出现同样的页面如下,各位是怎样? 我只能看见标题:( 图片文件上载页,在上载页中实现预览的问题?急! 我的Asp为什么不能执行? 请教xml问题。 如何动态获得表单中checkbox中的name的值还有获得其值。 如何在UNIX下配置 Tomcat4.0 + Apache1.3 + JDK1.3? 在线等待! 请问版主:为何我在本版搜索“多语言”,找到的结果中没一个打得开? 如何在一个菜单项里控制另一个菜单项的状态(如变灰) 菜鸟问题 关于几个按钮布局?急 求救:关于在程序中运行其他程序的问题! 请问哪有Report Machine的下载? 请问只知道备份文件如何恢复数据库? To:qxjavajava: 哪里可以找到scjd的题目大家先做一下? 高程水平压线通过后的一点总结 请帮初学者看看这段简单的代码!感激t0 '_bstr_t' : missing storage-class or type specifiers 文件操作安全问题,请微软专家和各位高手进来看看 请教tdbgrid如何在非绑定模式下加入新行写入数据 问一下,在datagrid里加入comboBox控件后,怎样使comboBox的边框不可见? ==高手请看,数据库备分恢复问题== 这两种赋值方法真的有区别吗?内有代码,请指点 关于与后台连接的问题 请问黑龙江中程成绩怎么查? 如何用sql语句统计满足条件的记录数? 用ASP作下拉式菜单怎么坐呀?蛮着急的呀!! 一个看似简单实则绕脑的小问题 pb8是否内嵌easerver服务器? help 请教高手:一个写输出的问题,再线等待 我在一个组件中定义了一个Text2的属性,可如何让它显示在VS。NET的属性框中呢。 用了XTREME后,它自己生成的SDI框架中,菜单.状态栏的字体太小,我想改成9号宋体,怎么办? 怎样在数据库里保存文件! 急急。。得到树的导航?在线等待!! 刚才忘记说了,如何在sql里给中文排序? 请问有什么函数可以将BigdDecimal类型转换成为String类型??(很着急!) 来者有分 今天天气很好,出来晒晒太阳!你说哪? J2EE 和J2SE 的区别? 双网卡的机器上安装Oracle的listener的配置 查了有关目录,文件的函数没找到,问一下各位,怎样判断一个目录是否为空目录? 怎么搞的,又看不了帖? 请问有什么函数可以将BigdDecimal类型转换成为String类型??(很着急!) 如何用TUXEDO同步调用存储过程? 两个SQL Server通过拔号互连为何连不通呢?ICU!!! 心情不错,散分 想写一个自定义控件,里面包含一个button控件,一个text控件,和一个JS文件。如果做到button事件调用js文件后,能传到text控件? 怎么样让DBedit1.text的值在修改后需要点击button1后才由程序去修改,不是由它自己修改,但是readonly不能真和不用普通组件怎么样做? BUILD出现以下错误怎么办?? 杭州公安消防局公布上半年全市火灾3481名肯尼亚学生获中国奖学金赴华留学外媒评述 美对叙动武属非法“战争行为英要求安理会授权对叙采取行动日本为解禁集体自卫权寻求美国理解欧洲最大公共图书馆将在伯明翰开放南非华人商城遭抢劫造成一死一伤随笔:全面理解“和平解决争端”肯尼亚发生公路交通事故日男子对车站女职员施暴 未想对方系柔日本海被标注为“东海” 日防灾地形图李显龙说应由内阁年轻人推选新加坡未来潘基文谴责刚果(金)反政府武装袭击维万人民调:94.5%受访者反对延迟退湖南衡阳土地储备中心主任涉嫌违纪被调今年第二批700余所院校在浙计划招生杭州昨迎来第十八个高温日 今明最高气嘉绍跨江通道后天零点开通 全线双向八日常水果送检实验室 样品检出农药残留金华7月份平均高温日数17.2天 秒慈溪晒上半年三公经费开支 公务接待下孕妇化妆的禁忌和注意事项十种贵人,四种朋友,遇到了千万别放手古代结婚为什么要喝交杯酒 竟藏有大秘如何引导模特流露自然情绪宝宝为什么一放床上就醒?新手爸妈通常【甜蜜影院】糖祸之恋(上)手表手机在凯里上市 备受小学生喜爱孩子最容易模仿你这12个坏习惯!父母女神王菲与酷男谢霆锋要结婚,是传言还贵州中小学生 真的蛮拼的:46%的学全国注册资本金最大村镇银行在贵州成立广西两男子偷狗被打致1死1伤 有人在“考得好我就给你买”这样的奖励方式后上海6青年逼人吃粪并暴打其致伤 后发贵州城市职业学院与荔波广播电视台签订产品众筹带你赢在创业路上这家花房式的西餐厅有毒!教你做绵软可口的“雪媚娘”,快来学吧别用你的孩子打扰我!引起很多家长的沉为什么你就是过不去美国签证申请呢?程华志:市场买预期卖事实,谨防白银利
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘