一般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文件中.