轻松制作chm文件

作者：冯灵全

    从windows 3.0 到 windows95，系统使用的帮助文件一直是 .hlp 格式，在安装 windows98 以后，我们发现系统中增加了一种 .chm 格式的帮助文件，与 .hlp 文件相比 .chm 文件有很大的改变，功能更加强大，支持的媒体文件更多，使用更便捷。

    .chm 文件可用来制作软件说明书、产品介绍、学习教程、电子图书、报刊的电子版本、个人资料的整理等等。本文将由浅入深的介绍 .chm 文件的制作方法，希望对你能有帮助。

    【注】
    为了方便浏览，我将图形文件全部缩小显示，如果想观看全图，可以在图形上点鼠标左键，图形会在弹出的浏览器窗口中全幅显示。你可以不必关闭此新开窗口，因为以后你在其他图形上点击时，图形文件均在此窗口显示，而不会出现打开许多窗口的现象。

开始>>


简介

  一、chm文件及其制作工具Html Help WorkShop简介

    chm 文件是微软 1998 年推出的基于 html 文件特性的帮助文件系统，以替代早先的 WinHelp 帮助系统，在 windows98 中把 chm 类型文件称作“已编译的 HTML 帮助文件”。被Internet Explorer 支持的 JavaScript、VBScript、ActiveX、Java Applet、Flash、html 图像文件（GIF、JPEG、PNG）、音频视频文件（AU、MIDI、WAV、AVI）等等，chm 同样支持，并可以通过 URL 地址与因特网联系在一起。
图（1）
    图（1）是典型的 chm 文件运行界面，其窗口可分为三部分，上部是功能按钮区，罗列了几个常用的浏览器按钮，右边是主窗口，左边是导航嵌窗。导航嵌窗用来快速定位感兴趣的内容，这里可包含主题、索引、搜索和标签。按“隐藏/显示”按钮可以把左边的导航嵌窗关闭或打开，其他几个按钮浏览器中的一样，“选项”中是一些常用的控制命令。这些按钮在制作 chm 文件时可以控制是否显示。

    在 windows98 及以后的 windows 版本中，chm 文件的运行程序（hh.exe，27K）已是操作系统的一部分，它控制支持ActiveX 组件的网页浏览器（如微软的 Internet Explorer 3.0 以上版本）来解释并运行 chm 文件中的元素，这样的好处就是能跨平台运行 chm 文件，只要有不同平台上的运行器和浏览器，chm 文件就不再需要重新进行编译而直接使用，在不同语言的操作系统下，chm 文件也会自动显示对应语种的菜单。

    在 PC 机上使用 chm 文件要求使用者的操作系统装有 IE3.0 或以上版本，如果使用者仍在使用 Windows95 系统，就需要运行一个小程序（被称作 chm 文件阅读升级包）hhupd.exe（700K），以便在 windows95 中也能正常使用 chm 文件。而在 windows98 以后的系统中可以直接使用 chm 文件。

    制作 chm 文件的最佳工具是微软的 HTML Help WorkShop，目前最新版本号为 1.31。虽然是是英文版，但它的几个单词都比较简单，稍有一些英文基础的人基本上也能应付，或者借助“东方快车”、“金山快译”等软件把菜单转为汉字。
图（2）
    HTML Help WorkShop 的操作界面如图（2）所示。菜单栏分别是［File 文件］、［View 查看］、［Test 测试］、［Tools 工具］、［Help 帮助］。菜单下面的工具栏一般有五个按钮，分别是［New 新建］、［Open 打开］、［Compiled HTML file 编译HTML文件］、［View Compiled file 查看被编译的文件］、［Display online information 在线帮助］。
    为叙述方便，下面文中将把“HTML Help WorkShop”简称为“HHW”。


制作前的准备

二、制作前的准备

    1、下载并安装 HTML Help WorkShop

    你可以在微软的站点上下载 HHW 软件，也可以直接 按此下载。

    下载 HHW 软件后直接运行 htmlhelp.exe，一路“next”就可以安装成功。HHW 内还含一个图形编辑处理程序（HTML Help Image Editor），图形文件的处理也可以由它简单处理。

    2、几个概念

    相对来讲制作 chm 文件比较简单，大量的工作实际上是在前期制作 html 文件上，你在 chm 文件中所看到和听到的，与你在浏览器中的结果是一样的。你可以专门为制作 chm 文件而编制 HTML，也可以直接利用现成的小型个人主页快速做成 chm 文件以便向外发放，所不同的是，在个人网站上每个 HTML 文件之间必须由超级链接相连，而用来制作 chm 文件的 HTML 文件组里，允许有独立的 HTML 文件，用户可以通过导航嵌窗来实现对其访问。

    现在让我们先了解一下几个用到的概念：

    （1）项目文件［Project -- .hhp文件］：包含创建 chm 文件所需的 HTML 文件信息、目录表文件信息、索引文件信息、窗口属性、搜索、书签定义等内容。一个chm文件对应有一个项目文件。［设置方法］

    （2）目录表文件［Contents -- .hhc文件］：包含目录表中每个标题与 HTML 文件的关联关系。目录表就好像是一本书的目录。该文件不是必需的，如果创建的 chm 文件没有导航嵌窗，就可以不创建 .hhc 文件，这样一来 HTML 中的跳转就要借助其内部的超级链接了。［创建方法］

    （3）索引文件［Index -- .hhk文件］：一些专业书籍在其后面一般有个索引表，利用已经排序的字母、单词、词组来帮助读者快速定位到需要的一个或几个位置。在 chm 中也可以使用索引。索引文件中就包含每个关键词（keyword）与 HTML 文件的对应关系。与目录文件中的标题不同的是，一个关键词可以对应多个 HTML 文件。索引文件也不是必需的，如果你的 chm 文件的信息不是太复杂，不创建也行。［创建方法］

    （4）搜索：要在 chm 文件中能使用全文搜索功能，只要在创建 chm 文件时打开一个开关就行了，这样只要在搜索框中输入要搜索的内容，chm 就会把全部包含该内容的 HTML 文件列出来，并把搜索内容高亮显示。但是如果使用搜索功能，chm 文件会稍大一点。［设置方法］

    （5）书签：在我们阅读图书时，有时会在一些地方放个书签，以便下次能快速找到作标记的地方，在 chm 中同样允许你在感兴趣的地方作标记。［设置方法］

    （6）窗口属性：是指 chm 文件的介面窗口。你可以自由定义窗口位置、大小、按钮、导航嵌窗、显示模式等。［设置方法］
    目录、索引、搜索和书签是 chm 文件左边导航嵌窗中的四个导航选项，任何一个都可以随意打开或关闭，当四个功能全部关闭时，导航嵌窗将自动消失。

    因为 HHW 对chm 的控制非常灵活，所以你可以制作出功能强大的 chm 文件，也可以制作出非常简单的 chm 文件。另外在制作中我们需要指明的是 HTML 文件，而图形、视频、声音等文件不需要指明位置， HHW 会根据 HTML 文件中的链接找到它们。


制作简单的 chm 文件

三、制作简单的 chm 文件

    我们把没有导航功能的 chm 文件称作“简单的 chm 文件”，它没有导航嵌窗，网页之间的跳转全部依靠 HTML 文件中的超级链接。

    下面介绍制作简单的 chm 文件（无导航功能）的步骤，这些步骤的叙述将在“制作较复杂 chm 文件”中省略或简化，所以不可不读。

    1、制作没有功能按钮的 chm 文件

    首先你最好把所有要用到的 html 文件及有关图形、声音、视频等文件复制到一个空文件夹中（当然可以包含子文件夹），并在 IE 浏览器中检验通过，然后启动 HHW，在 File菜单中选［New］，弹出新建文件对话框。

    HHW 可以新建：项目［Project］、文本文件［Text］、HTML文件、目录表文件［Table of Contents］和索引文件［Index］。我们选“项目”，弹出新建项目向导，提示你可以把以前的 WinHelp 项目文件转换为 HHW 项目文件。我们直接按“下一步”。
图（2）

    在这里指定你欲创建的项目的位置和文件名，我们按［Browse］，选择我们的 HTML 文件所在目录，并定义一个项目文件名如 test1（程序自动添加 .hhp 后缀），按“下一步”。在出现的对话框中指定已经存在的文件。因为我们目前只有 HTML 文件而没有目录文件（.hhc）和索引文件（.hhk），所以只在［HTML files］前面打上小勾。按“下一步”，进入添加 HTML 文件的窗口，按［Add］按钮，把有关的标题 HTML 文件全部选中加入（可以一次全部选中加入）。按“完成”后，程序就会进入项目编辑界面——也就是 HHW 的主界面，参考图（2）。
图（3）
    首先我们给将来的 chm 文件的窗口标题条指定与 chm 内容相符的文字（如果不指定，则软件默认为“帮助”）：按［Project］项目选项中左边第三个按钮“新建/编辑窗口显示风格”，在弹出的窗口类型中随便输入一个名字如“12”，按“OK”后就会进入“窗口属性”定义对话框。在［General］选项卡中的［Title bar text］中输入标题条文字“test1--最简单的 chm 文件”如图（3）。

图（4）
    因为我们不需要导航嵌窗及功能按钮部分，所以再确认一下在导航嵌窗［Navigation Pane］中不要选中［Window with navigation pane, topic pane, and button bar］，如图（4）。按确定退回 HHW 主界面。

图（5）
    现在按［Compiled HTML file］编译按钮或者通过在［File］菜单中选择［Compile］进行编译，chm 文件就会在指定位置创建完成。这时你可以运行一下新创建的 chm 文件，不难发现，chm 已经包含了所有用到的 HTML 文件、图形文件等，相当于是把全部网页文件打包到 chm 文件中了。如图（5）就是最简单的chm文件显示效果。很简单吧？

    3、制作包含功能按钮的 chm 文件
图（6）
    与上面操作相同，不同的是在进行到“窗口属性”定义操作时，在［General］中指定 chm 文件标题栏中的文字“test2---带功能按钮的 chm 文件”，在［Button］中指定欲在 chm 文件的按钮区中显示的按钮如图（6）。

图（7）
    在［Navigation Pane］导航嵌窗设置里选中显示导航嵌窗（与上面不一样），如图（7）。

图（8）
    其他选项卡中我们使用默认值（后面在介绍）。设置好后，按编译按钮，生成的 chm 文件如图（8）所示。因为我们没有生成目录表文件和索引文件，所以在 chm 中导航窗口不会显示出来。

图（9）
    上面制作的 chm 文件比较简单，但有时也很实用。其页面跳转必须借助 HTML 内部的超级链接和功能按钮，对于比较简单的几个 HTML 文件也已经足够了。如果 HTML 比较复杂，也可以使用分帧处理，同样会作出很不错的 chm 文件，就像我们进入一些有分帧页面的网站时的操作方式一样。如图（9）。


制作较复杂的chm文件

四、制作较复杂的chm文件

    在 windows98 中我们常见的 chm 文件多数具有目录及索引，有的还有搜索和书签，这在使用 chm 文件的过程中会比较方便。下面我们就来制作带目录、索引、搜索、书签的 chm 文件。在这里我还将介绍一些常用的选项功能的解释。

    此类 chm 文件一般包含有多个 HTML 文件。与前面一样，你需要先把网页文件做好，放到硬盘一个文件夹中，如 test3。进入 HHW 后选新建项目，并指定新建项目文件的位置和文件名（如test3），在已经存在的文件中选中目录中所有用到的HTML文件后，进入 HHW 主界面。

    1、目录文件的创建
图（10）
    按［Contents］选项卡，选择［Create a new contents file］创建新的目录文件，并命名它为 contents.hhc。然后进入目录表编辑窗口，如图（10）。

    在目录编辑窗口左侧，从上到下排列有11个按钮，前5个分别是：目录表属性设置、插入标题、插入页面、编辑所选标题或页面属性、删除标题或页面，下面4个箭头用来调整所选标题或页面的位置及从属关系，最后两个分别是显示 HTML 文件源码和保存文件。
图（11）
    插入一个标题：按［Insert a heading］按钮，弹出［Table of Contents Entry］对话框，如图（11）.
图（12）
    在［Entry title］中输入标题内容，如“简介”。按［Add］，在弹出的［Path or URL］对话框中选择Title为“简介”对应的 HTML 文件，如图（12），按返回后一个标题就添加完成了。这里你也可以按图（12）下面的［Browse...］指定前面没有选择加入的HTML 文件，或者直接在［File or URL:］中输入。

    在标题“简介”下面再添加一个标题如“准备”：按［Insert a heading］按钮，会弹出一个询问是否在所选标题上面插入标题的对话框，我们按“否”，在［Entry title］输入页面标题“准备”，并按［Add］指定对应的 HTML 文件，返回后就又加了一个标题。

    在标题“准备”下面插入一个页面（或者是子标题）如“下载”：按［Insert a page］按钮，在［Entry title］输入“下载”，并按［Add］指定对应的 HTML 文件，返回。

    同样方法我们可以加入许多标题、子标题、页面，并可以利用那4个箭头按钮来调整标题或页面的位置及从属关系。HHW 最多支持 9 个级别深度。
图（13）
    修改标题及改变标题图标的方法：选中标题，按［Edit selection］按钮，可以对其重新指定所关联的 HTML 文件，在［Advanced］中通过下面的［Image index］改变标题的图标。如图（13）。

    设置目录属性：按［Contents properties］按钮以后我们可以改变目录表显示样式等，使用默认设置就行。
图（14）
    所有标题创建完成后，按左下角的［Save File］按钮，一个目录表文件就创建完成了。如图（14）。

    2、索引文件的创建

    与目录文件的创建非常类似，只是索引文件中需要指定关键词与 HTML 文件的关联关系。请参考目录文件的创建部分，不再赘述。

    3、项目文件的设置

    按［Project］选项卡，进入项目编辑窗口（即默认的HHW介面）。其左边排列有7个按钮，分别是：项目属性设置、增加或删除 HTML 文件、增加或改变窗口属性定义、API信息、显示 HTML 源码、保存文件、保存文件并编译。
图（15）
    我们按［Change project options］按钮对项目进行设置：通常需要作的是，在［General］选项卡的［Default file］中指定封面页，也就是打开 chm 文件时默认显示的 HTML 文件。封面页可以是目录表中的某个标题所对应的 HTML 文件，也可以是在目录表中不存在的专门用来作封面的 HTML 文件。如图（15）。

图（16）
    如果想在 chm 文件中具备全文搜索功能，还需要在［Compiler］选项卡中选中［Compile full-text search information］，如图（16）。

    其他内容一般可以不去理会。

    4、窗口显示风格的设置

    按第三个按钮［Add/Modify windows defunitions］设置窗口属性：这里的设置将决定 chm 文件的显示风格。在弹出的对话框中我们给窗口风格随便指定一个名字（如12），按 OK 就进入了［Windows Types］对话框。常用的几个设置项为：
    （1）General
      ［Title bar text］中输入你欲在 chm 文件的标题栏显示的文字，如“轻松制作 chm 文件”。参考图（3）。
    （2）Buttons
      选择欲在 chm 中出现的按钮。参考图（6）。
    （3）Position
      ［Save user defined windows position after first use］如果选中，则系统会保存 chm 使用者最后一次退出 chm 文件时窗口的位置、大小等，下次再打开 chm 时，系统会恢复这些属性。如果不选中，则每次都以你或默认的窗口大小、位置打开 chm 文件。
图（17）
      Left和Top是指定打开chm时，窗口左上角的位置，Width和Height则指定窗口的宽和高。如图（17）。
    （4）Files
      如果选择了显示Home、Jump按钮，就在这里输入对应的 URL 超链接地址，比如你的个人主页地址。
    （5）Navigation Pane
      ［Windows with navigation pane,topic pane,andbutton］如果不选中，则chm窗口将没有导航嵌窗和按钮。
      ［Navigation pane width］中指定导航嵌窗的宽度。
      ［Open with navigation pane closed］如果选中，在打开chm文件时导航嵌窗默认为关闭状态。
      ［Auto sync］如果选中，chm 中的目录标题与 HTML 文件内容将自动保持同步。
      ［Automatically show/hide navigation pane］如果选中，在 chm 为活动（当前）窗口时，导航嵌窗显示，当不是活动窗口时，导航嵌窗自动隐藏。
      ［Default tab］中指定导航嵌窗中默认的显示项。这里可以是目录、索引、搜索、书签。
      ［Search tab］如果选中，在chm中将具备全文搜索功能，而［Advanced］可以让 chm 具有高级搜索的功能（使用and,or,not,near）。
图（18）
      ［Favorites tab］如果选中，chm文件就会具有书签功能。如图（18）。
    另外两个选项卡可以不用管它，使用HHW的默认设置就行。

    5、编译成chm文件

    经过上面的设置，我们就可以编译了。按工具栏中的编译按钮，或者直接按项目窗口左下方的［Save all file and Compile］按钮，几秒钟以后 chm 文件就被编译完成。然后用鼠标双击此 chm 文件就可以看到你的作品了，如果发现问题，还可以返回 HHW 里进行修改调整。参考图（1）。


反编译一个chm文件

五、反编译一个 chm 文件

    有时我们需要把一个已经存在的 chm 文件反编译，以便把其中的全部内容取出。

    反编译的方法是：

    先创建一个新的文件夹，然后进入 HWW 程序，在［File］菜单中选［Decompile］，指定目标文件夹的位置和欲反编译的 chm 文件，按 OK，反编译很快就会完成。这时在目标文件夹中就保存着 chm 中的所有文件和子文件夹，你可以慢慢研究别人的技巧了。


声明

六、声明

    此文已经寄送《大众软件》杂志社，一旦发表，版权即由《大众软件》杂志社与 作者 共同拥有，其他人不得擅自在其他媒体转载，如需引用，须经《大众软件》杂志社 和 作者 允许。

七、有关 WWW 地址

    1、软件下载地址

    最新版 HTML Help Workshop 下载地址：
    http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/htmlhelp.EXE

    Windows95 用户使用的阅读器升级程序：
    http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/hhupd.exe

    更新的 lib 文件
    http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/Htmlhelp.lib

    2、《大众软件》杂志社网站

    http://www.popsoft.com.cn

    3、作者信箱

     hnfeng@371.net

上一页 | 后退 | 下一页