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

在vb中如何调用(*.chm)的帮助文件

HTML文档下载 WORD文档下载 PDF文档下载
请教在vb中如何调用(*.chm)的帮助文件!请将方法详细说明,分有的是。
可能还需要加入这个
Option Explicit
Private Declare Function OSWinHelp% Lib "user32" Alias "WinHelpA" (ByVal hwnd&, ByVal HelpFile$, ByVal wCommand%, dwData As Any)
htmlhelp Me.hwnd, App.Path & "\help.chm", 0, 0


在模块中加入:

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
方法很多
★为*.chm的地址
1.
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
Const SW_SHOWNORMAL = 1

Private Sub Command1_Click()
ShellExecute 0, "OPEN", "★", "", App.Path, SW_SHOWNORMAL
End Sub





2.最简单
shell "★"



3.
Private Declare Function GetActiveWindow Lib "user32" () As Long
private sub command1_click()
ShellExecute GetActiveWindow(), "Open", "★", "", 0&, 1
end sub
shell方法不行,我试过了!
我这可以,奇怪。
那其他两个应该可以吧
关注!
还有一个简单方法
app.helpfile="kk.chm"

激活时用 sendkeys "{F1}"
参考,有非常详细的说明(在VB中调用CHM 帮助的几种方法 )
http://expert.csdn.net/Expert/topic/1726/1726332.xml?temp=.3988153
别人写的引用来让你学习:

在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的说明资料)。 
谢谢大家!ok了。
创翼全国 六城联动——2012移动互联网应用创新大赛开放日 全国六城联动沙龙 爱丽丝+福尔摩斯 Game Insight解谜游戏玩出新花样 Windows Phone 8 SDK大升级:部分功能兼容WP7 信息大图《愤怒的小鸟》发家史 Intel预测:10年之后你的手机是48核的 消息推送惹怒用户:应用开发者请别太过分 创新工场:我们如何孵化未来? iOS越狱比例下降:国内移动开发环境怎么了? 响应式图像技术与资源分享 看Twitter如何应对大选:少些Ruby 多些Java 软件开发中常见的十大系统瓶颈 [CTO俱乐部87期]三人行架构分享:开源是背后的支柱 推荐5款超实用的.NET性能分析工具 OpenStack基金会主席Alan Clark访华 欢迎提问 程序员的十大烦恼 兼顾性能和兼容体验:HTML5时代的浏览器全面测试 Lisp的本质 Amazon工作环境恶劣员工高流失率 为何却依然能持续成功和创新? 对几个软件开发传统观点的质疑和反驳 [实战分析] 编写高效的JavaScript程序 Twitter的系统编程 百度高通达成合作 为Android终端提供云服务 EasyHadoop技术沙龙在北京、广州两地齐发 CloudStack技术沙龙:committer李学辉及中航信分享 思科为什么愿意花12亿美元收购云计算网络初创公司Meraki? 谷歌有麻烦了!联邦贸易委员会正调查其搜索业务 当数据中心遭遇污水 微软新能源数据中心的诞生 2012vForum:更加注重开发者 腾讯赵伟:Hive在腾讯分布式数据仓库的实践 Apple将在2013年启动香港数据中心的建设 顶级域名扩张受阻:ICANN透露部分域名存争议 ALT和MFC的区别是什么?? 试用DELPHI6,BUG太多了! 我是新手,请问在delphi5中如何建库(orcle和sybase)? 问一个比较弱智的问题 js文件里如何使用另一个js文件里的函数30? 哪位大虾知道可以在哪里下载mpeg-1的codec,谁先告诉有效地址谁先得分!(不给分是小狗!) 可能很菜的问题,送分的问题!! 一个关于CDaoTableDefInfo的问题 ado的问题??求救!!!高分!!! 有关代码重用的问题,对Form的继承。 一个关于CString.Format的问题 学习编程时学图算法怎么学好? 一个很简单的CREATE TABLE语句为什么出错呢?向大家请教! jbuilder5运行需要最低配置 ,傻傻的问 Delphi6的盗版已经到了@_@ 喂,为什么我提问只能给最多37分,原先可比这要多的多 一个关于派生类的问题 关于页面关闭的问题 用new JTalbe(10, 20)创建了一个table,如何设置该table列(column)的宽度 请教一个关于用VC6开发outlook\exchange的问题。急!急! 时间服务器 请问一下,用DBM,如果用户注册的数量多了以后,程序的速度很一般的文本速度比较哪个快 纯数学问题:如何求模逆元? VB中实现进程间通信的方法?VB中的CallWindowProc的用法?VB中如何发送自定义的消息? 请问哪里能免费下载BCB5?下载多长时间没有关系,只要能够正确使用就可以了。 怎样得知CListCtrl中当前选项? 我想从WINME中自带的一个驱动程序提取出来在WIN97中安装,请问应如何做? 菜问题(2) 请教:为何数据库数据无法在网页上显示? CEditView 一定要override onChange function(ON_CONTROL_REFLECT(EN_CHANGE, OnChange))????;否则input 时不我待会错??? 请教:不通过页面,用VB如何得知来访者的IP? 如何将vcd转化为real的格式???????????急!!!!!!!!!!!!!! 对DMO播放内存MPEG2数据没有头绪,谁能给点提示? 支持bestbestbest!!!!!!!!!!!! 如何在win98下使用EJB? applet 可以打开到一个server的socket么 谁知道国内哪有下载jdk1.4,Thanks! 如何配置For Oracle8i 的ODBC? 请教如何动态改变窗口大小 弟兄们救命啊!!!rational rose中mdl的导出 Jbuilder5.rar的密码? 这条语句为何通不过?请指教! 各位大虾:一个WWW服务器,不通过页面,要得到访问者的IP怎么办? 劳改犯严正声明:支持3B、蝈蝈的正确领导,声讨"捣蛋杂碎"及"跳梁小丑".坚决维护水园的安定团结. 哪位高手能给我解释一下,关于Hook技术,谢谢 pcb板什么什么东东? 请问:malloc()函数的作用是什么? 关于TTS(vcmd.exe自动化服务器) to 斑竹 :::::::,为什么我提问给分怎么比以前少了许多 急急, 怎樣從在一個框架里放打印按鈕,但要打出來的是另外一個框架的東西? 我是一个初学者,要成为一名软件工程师,要学习哪些? 绿色行动中,学校把560棵树苗按人数分给六年级3个班栽,一班47人,二班45人,三班48人.3个班各栽多少棵? 一个池塘周长为240m沿池塘周围每隔4米栽一棵柳树,每两棵柳树之间等距离栽了3棵杨树,一共栽了多少棵柳树,多少棵杨树?求算式子? 在一个周长400米的圆形池塘周围植树,每隔4米栽一棵 ,一共可栽多少棵? 一个鱼塘的周长是1500米,沿鱼塘周围每隔6米栽一棵杨树,需要种多少棵杨树? 一个湖泊周长为1800米,沿着湖泊周围每隔12米栽一棵柳树,每个两棵柳树中间载一棵桃树和一棵杨树.问:每两棵树之间的距离是多少?共多少棵树? 在周长180米的池塘种树,每隔12米种一棵,要种几棵? 一个圆形鱼塘的周长是1500米,沿鱼塘周围每隔6米栽一棵杨树,需要在多少棵杨树? 一个湖泊周长1200米,沿湖泊周围每隔3米栽一棵杨树,每两棵杨树中间栽一棵柳树.湖泊周围各栽多少柳树杨树 一个圆形的花坛,周长是120米,如果沿着花坛周围每隔5米种一棵杨树,每两棵杨树之间种一棵树,一共可种()棵树 一个圆形养鱼池的周长是150米,现在要在他的周围种上柳树,每隔6米栽一棵树,一用需要多少棵树? 一个圆形鱼塘的周长是270米,每隔9米种一棵杨树,每相邻的两棵杨树之间均匀地栽两棵柳树.栽了多少棵杨树?多 园林设计师傅打算在一个周长是150米的圆形花坛的周围每隔3米种一棵树,一共得准备多少棵树苗? 一个鱼塘的周长是1500米,沿鱼塘周长每隔6米载一棵杨树,需要载多少棵杨树? 在一个周长是1200米的正方形池塘四周栽树,每隔10米栽一棵杨树,后来又在每两棵杨树之间又栽了2棵柳树. 一花坛周长60米,每5米种一棵树,共种几棵树 在一个长方形鱼塘四周每隔4米栽一棵树,一共栽了120棵《四个角各在一棵》,这个鱼塘周长多少米? 等差数列:要在一周长400米的池塘周围等距离地在栽一些柳树,株距10米,再在每两棵柳树间栽3课杨树,在这个池塘周围共栽树多少棵 一个周长是78.5的圆形花坛,每隔两米种一棵树,最多种多少树?再说一下39.25是肯定不对的!40也不对!最好是整数。 一个湖泊周长1800米,现在每隔6米栽一棵柳树,每两棵柳树之间栽一棵桃树.湖泊周围柳树和桃树各栽多少 一个圆形广场的周长是100米,如果围着广场每隔10米种一棵树,一共要种几棵树? 一个圆形的花坛周长是20米,如果每隔5米种一棵树,那么一共可以种多少棵树? 1个湖泊周长1800米,现在每隔6米栽1棵柳树,每2棵柳树之间栽1棵桃树.湖泊周围一共栽了多少棵柳树和多少棵桃树? 周长为300米环形,每隔3米种一棵树,栽倒30颗树后接到通知改成每隔5米栽一个树后接到通知改成每隔5米载一棵问可以载多少颗树 一个圆形草地它的周长是480米沿着它的周长每隔六米种一棵树在在两棵树之间发两盆花一共放多少盆花 在周长为8040米的大堤,堤上每隔8米栽柳树一棵,然后在相邻两棵柳树之间每隔2米栽桃树一棵,准备桃树几棵? 公园里湖的周长是2100米,围湖每隔14米种一棵树,要种几棵树? 在圆形的水池边,每隔3米种一颗树,共种树60棵,这个水池的周长是多少米? 池塘周长450米,沿池塘周围每隔3米栽一棵柳树,每两柳树中间栽一棵桃树,池塘周围各栽多少棵柳树和桃树 一个圆形池塘,它的周长是27米,每隔3种一棵树,共需要几棵? 一个圆形水池的周长是12.56米,它的占地面积是多少平方米? 一湖泊周长1800米,沿湖泊周围每隔3米栽一棵柳树,每2棵柳树中间栽2棵桃树,湖泊周围栽柳树几棵?桃树几棵给下算式 周长为300米环形,每隔3米种一棵树,后接到通知改成每隔5米栽一个树,问可以载多少数题目叙述的不完整 是栽倒30颗树后接到通知改成每隔5米栽一个树,问可以载多少数 一个圆形水池的周长是62.8米,这个水池占地面积是多少平方米? 在某淡水湖四周筑成周长8040米的大提,提上每隔8米栽柳数一棵,然后在相邻两棵柳树之间每隔2米栽桃树一棵.应该准备柳树和桃树各多少棵/ 关于两棵大树围着一棵小树的作文.450字 一个圆形水池的周长是25.12米,这个水池占地面积是多少平方米? 在某淡水湖四周筑成周长为8040米的大堤,堤上每隔8米栽柳树一棵,然后在相邻两棵柳树之间每隔2米栽桃树一棵,应准备柳树和桃树各多少棵? 两棵大树中间有一棵小树 一边有太阳 一边下雨 600字作文 一个圆形水池的周长是31.4米.现将这个圆形水池的直径扩大3分之2后,水池的面积比原来多多少平方米 一个正方形水库的周长是1600米,在水库的周围每隔8米栽一棵柳树,每两棵柳树中间再载两棵白杨树共种多少树一个正方形水库的周长是1600米,在水库的周围每隔8米栽一棵柳树,每两棵柳树中间 看图作文,两棵强壮的大树中间有棵矮小的小树 挖一个周长是56.52米的圆形水池,这个水池的占地面积是多少平方米 水库大坝是一个近似圆形,周长是2430米,每隔9米种柳树1棵,可种柳树多少棵?相邻两棵柳树之间每隔3米又种水库大坝是一个近似圆形,周长是2430米,每隔9米种柳树1棵,可种柳树多少棵?相邻 两棵大树之间相距250米,园林部门计划在两棵大树的中间补栽小树,便每两棵小树之间的距离是10米,一共要补栽多少棵小树? 在圆形的水池边,每隔3米种一棵树,共种树60棵,这个水池的周长是多少米? 如图在某一平地上,有一棵树高八米的大树,一棵高三米的小树,两树之间相距12米,今有一只小鸟在其中一棵树梢上,要飞到另一棵树的树梢上,问它飞行的最短距离是多少 两棵大树中间有一棵小树 一边有太阳 一边下雨 题目该怎么起 在一个周长是400米的正方形水池边种树,每隔10米种一棵,共需种 几棵树,每边种了 在某一平地.有一棵高8米的树.在距离12米的地方有一棵小树.问两树尖相距多少米(解法) 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是10米.一共要补栽多少棵树 一条路长100米,在路的一边从头到尾每隔10米栽一棵树,一共要栽多少棵树 在某一平地上,有一棵高6米的大树,一棵高3米的小树,两树之间相距4米.今一只小鸟在其中一棵树的树梢上要飞到另一棵树的树梢上,问它飞行的最短距离是多少? 两棵大树之间相距250米,园林部门计划在两棵大树中间补栽小树,使每两棵小树之间的距离是米,一共要补栽多少 在一条长100米的通路两侧,从头到尾每隔2米在一棵树,按2棵杨树,一颗柳树的规律栽植.杨树,柳树各占植树总棵要算式 平地上有一颗15米的大树和一颗高7米的小树,两树之间相距15米,一只小鸟要从其中一树的树梢飞到另一棵树的树梢上,问他飞行的最短距离是多少? 两棵大树之间相距160米,园林部门计划在两棵大树中间均匀地补栽39棵小树,每两棵小树相距多少米? 在一条长100米的路两侧,从头到尾每隔2米栽一棵树,按2棵杨树,1棵柳树的规律栽植,杨树,柳树各占植树总棵树的几分之几 学校把栽70棵树的任务,按照六年接三个班的人数分配给各班,一班有46,二班有44人,三班有50人.求三个班给应栽多少棵树是求3个班各栽多少棵树 平地上有一棵高8m的大树和一棵3m的小树,两树之间相距12m.一只小鸟要从一棵树的树梢上飞到另一棵的树梢上,问它飞行的最短距离是多少(画出草图然后解答)? 两棵大树之间相距180米,园林部门计划在两棵大树中间栽44棵小树每两棵小树的间隔距
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn