这里要介绍的就是CHM制作软件的开发,在网上已经有好多的CHM制作工具,如PowerCHM,FreeCHM等.但是对于CHM制作的具体参数却没有一个详细的说明!
Windows系统中自带了CHM的阅读器hh.exe,一般位于Windows文件夹下.VS6.0以上,也都带了CHM的制作软件Help WorkShop.但是其界面并不友好!
CHM的制作可以分为两类.一类是通过调用系统自带的hhc.exe来完成CHM的制作,一类是通过调用HHA_COMPILEHHP函数来完成CHM文件的制作.现在的大多数软件都是以第二种方式来完成的.这两种方法都是先写出制作CHM所需的文档,再直接或间接调用hha.dll里的HHA_COMPILEHHP函数.
一般CHM制作的主要过程就是确定hhp,hhc,hhk三个文件的制作过程.因为CHM的主要参数都是由这三个文件确定的.
hhp:CHM工程文件,CHM目标文件属性95%的参数都在这里被确定.
hhc,列表文件,确定目标文件中左侧树形列表中"目录"选项卡下的内容.
hhk,索引文件,确定目标文件中左侧树形列表中"索引"选项卡下的内容.
hhp几乎就是一个标准的ini文件.分为三个小节Option,Windows,Files.
先看一下Option小节的内容及说明:
Binary index=yes
title="标题"
compatibility=1.1 or later
compiled file="z:\1.chm"
contents file"z:\12.hhc"
Default topic="index.html"
index file="index.hhk"
Full-text search=yes
Default Windows=main
language=0x804
Enhanced decompilation=yes
Flat=Yes
Create CHI file=Yes
error log file=a.log
基本上看字面意思就可以了解其具体内容,Compatibility是版本,一般不变,下面是完成后CHM文件的位置及列表文件的文件名.
Default topic是目标CHM文件的首页.
Index File是索引文件的位置.
Full-text search是否支持全文检索信息.
Default Windows目标文件窗体控制参数,这里跳转到Windows小节中.
Enhanced Decompilation支持增强反编译
Flat编译文件不包括文件夹.
Windows小节中一般只需要一个值:
Main="","Tresss.hhc","Tresss.hhk",,,,,,,0x61520,240,0x104E,[80,60,720,540],0x0,0x0,,0,1,0,0
很长,但目标CHM文件的窗口控制几乎都在这里了.
第一个参数,标题,这里为空时会读取Option小节中的"Title"
第二个参数,列表文件.
第三个参数,索引文件.
第四个参数,首页文件,即Option小节中的Default Topic.
第五个参数,主页,如果此项为空时,点击工具栏上的"主页"会打开第四参数的值的地址,如果不为空是则打开此值地址.
第六个参数,自定义链接一地址
第七个参数,自定义链接一标题.
第八个参数,自定义链接二地址.
第九个参数,自定义链接二标题.
CHM文件中可以有两个自定义链接按钮,即由上面四个参数控制.如果此值为空,则不显示其按钮.
第十个参数,控制工具栏所显示的按钮,其值及意义如下:
书签=1000
高级搜索=20000
搜索=400
全无=20(去掉)
自动同步(当前标题改变时目录和索引自动同步)=100
自动显示隐藏导航面板=1
显示MSDN菜单=10000(最上面出现一行菜单)
不显示工具栏=8000
不显示工具栏按钮文本=40
保存窗体位置=40000
第十一个参数,目标文件左侧列表栏初始化时的宽度.
第十二个参数,目标文件工具栏显示的按钮.其值及意义如下:
此项为空时,有"显示/隐藏",有后退,有打印,有选项
0x2=只有显示隐藏
0x4=后退
0x8=前进
10=停止
20=刷新
40=主页
0x800=只有定位
0x1000=选项
2000=打印
0x40000=自定义按钮及链接一
80000=自定义链接二
100000=字体
0x200000=下一步
0x400000=上一步
后面在中括号里的四个参数是确定目标文件初始化时窗体的位置.
最后第四个参数,初始化时左侧列表的状态.此值为1时不显示左侧列表,为0时默认显示.
最后第三个参数,初始化时左侧列表的默认选项卡,此值为0时默认显示目录,为1时默认显示索引,为2时默认显示搜索,为3时默认显示书签.
最后第二个参数,初始化时左侧列表的选项卡位置,此值为0时默认显示在上边,为1时显示在左边,为2时显示在右边.
Files小节中是目标CHM文件中所包含的文件列表.这里一般只有htm或html文件,html文件所需要的一些支持文件如gif,css等文件,编译器会自动寻找并添加到目标CHM文件中.
你尝试着安装一下最新版的HTML Help Workshop试试看,这个是微软的chm编译器(也可以制作chm文档),
你的系统中很有可能没有hha.dll这个动态链接库,导致chm文件打不开,
安装了HTML Help Workshop之后,软件会自行往system32中注册该dll文件
(另外,记得到微软的MSDN官网上面去下载:ht tp:/ / msdn.microsoft.com/zh-cn/library/ms669985.aspx )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)