HTML Help WorkShop制作chm图解

来源:互联网 发布:淘宝卖家秀大尺度论坛 编辑:程序博客网 时间:2024/04/19 21:14
一位做共享软件做得很成功的同行说过:“一个好的共享软件,首先操作要简单容易上手,其次一定附带一个详尽的帮助手册。”可见,对于一个软件来说,帮助文件的重要性。不过大部分程序人员(包括我)都忽略了帮助文件的重要性,都认为自己做的软件相当简单,一看就会,殊不知我们是一个连底层都了解的开发人员。

前段时间本人做了一个图片处理软件,免费给一些同学和朋友使用,很多人的反馈是不知道怎么用,于是本人花时间做了一个帮助手册,得到了很多好的反馈,本人准备在结合他们的反馈意见之后发布一个Realease版本。在使用的过程中,我使用了微软提供的HTML Help WorkShop这个软件,可惜是英文的,为了方便广大对英语不是很熟悉的朋友,本人写了一份制作图解,希望对大家有帮助。

图1 HTML Help WorkShop运行界面


图2 新建一个工程


图3 是否从WinHelp项目转换


图4 设置项目文件的保存位置


图5 如果已经制作了hhc、hhk和htm文件,可以勾选上面的相应项


图6 新建帮助文件工程向导结束


图7 新建工程向导结束之后的界面


图8 contens选项卡


图9 添加一个内容页


图10 指定内容页的位置


图11 选取内容页


图12 填写标题(对比图9)


图13 Index选项卡


图14 添加Index向导第一步


图15 添加Index向导第二步


图16 填写完成之后的状况


图17 指定chm文件的起始页


图18 编译生成chm文件

说明:在制作过程中用到了.hhp、.hhk和.hhc三种文件,它们的作用分别如下:
.hhp:保存项目文件配置的有关内容,如便以后生成chm的语言以及打开chm的起始页;
.hhk:保存关键词索引目录的内容,其实是一个html文件,可以用记事本等打开查看和编辑。
.hhc:保存内容页的配置。其实是一个html文件,可以用记事本等打开查看和编辑。

通过记事本查看上面文件的内容之后,如果我们以网页的标题作为索引关键词,我们会发现.hhk和.hhc,这样可以直接copy,省去很多步骤。

附:.hhp文件内容(项目文件内容)

[OPTIONS]
Auto Index=Yes
Compatibility=1.1 or later
Compiled file=DotNet.chm
Contents file=Table of Contents.hhc
Default topic=dotnethelpIndex.html
Display compile progress=No
Index file=Index.hhk
Language=0x804 中文(中国)


[INFOTYPES]

Index.hhk文件(索引文件资源)内容

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<UL>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="首页">
<param name="Local" value="dotnethelpIndex.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#调用API">
<param name="Local" value="dotnethelpC#调用API.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#调用API详解">
<param name="Local" value="dotnethelpC#调用API详解.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#中调用Windows API时的数据类型对应关系">
<param name="Local" value="dotnethelpC#中调用Windows API时的数据类型对应关系.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="自己用C#做屏保">
<param name="Local" value="dotnethelp自己用C#做屏保.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="基于C#实现用于显示照片的屏保">
<param name="Local" value="dotnethelp基于C#实现用于显示照片的屏保.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="NHibernate 小纸条">
<param name="Local" value="dotnethelpNHibernate 小纸条.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="用Nhibernate怎么实现数据的添加、删除、修改简单程序">
<param name="Local" value="dotnethelp用Nhibernate怎么实现数据的添加、删除、修改简单程序.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005打包时加入卸载功能">
<param name="Local" value="dotnethelpVS2005打包时加入卸载功能.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005项目的安装与布署">
<param name="Local" value="dotnethelpVS2005项目的安装与布署.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS 2005中安装包的制作">
<param name="Local" value="dotnethelpVS 2005中安装包的制作.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="使用VS2005制作安装包">
<param name="Local" value="dotnethelp使用VS2005制作安装包.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="安装程序时读取路径的问题">
<param name="Local" value="dotnethelp安装程序时读取路径的问题.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="iexpress的作用及使用方法">
<param name="Local" value="dotnethelpiexpress的作用及使用方法.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="把.NET程序部署到没有安装.NET Framwork的机器上">
<param name="Local" value="dotnethelp把.NET程序部署到没有安装.NET Framwork的机器上.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005怎么制作安装包">
<param name="Local" value="dotnethelp初学者问一下,VS2005怎么制作安装包.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="日志记录组件[Log4net]详细介绍">
<param name="Local" value="dotnethelp日志记录组件[Log4net]详细介绍.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="HTML Help WorkShop帮助手册">
<param name="Local" value="dotnethelpHTML Help WorkShop帮助手册.html">
</OBJECT>
</UL>
</BODY></HTML>

Table of Contents.hhc文件(内容页项目资源)内容

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">
<!-- Sitemap 1.0 -->
</HEAD><BODY>
<OBJECT type="text/site properties">
<param name="ImageType" value="Folder">
</OBJECT>
<UL>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="首页">
<param name="Local" value="dotnethelpIndex.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#调用API">
<param name="Local" value="dotnethelpC#调用API.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#调用API详解">
<param name="Local" value="dotnethelpC#调用API详解.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="C#中调用Windows API时的数据类型对应关系">
<param name="Local" value="dotnethelpC#中调用Windows API时的数据类型对应关系.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="自己用C#做屏保">
<param name="Local" value="dotnethelp自己用C#做屏保.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="基于C#实现用于显示照片的屏保">
<param name="Local" value="dotnethelp基于C#实现用于显示照片的屏保.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="NHibernate 小纸条">
<param name="Local" value="dotnethelpNHibernate 小纸条.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="用Nhibernate怎么实现数据的添加、删除、修改简单程序">
<param name="Local" value="dotnethelp用Nhibernate怎么实现数据的添加、删除、修改简单程序.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005打包时加入卸载功能">
<param name="Local" value="dotnethelpVS2005打包时加入卸载功能.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005项目的安装与布署">
<param name="Local" value="dotnethelpVS2005项目的安装与布署.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS 2005中安装包的制作">
<param name="Local" value="dotnethelpVS 2005中安装包的制作.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="使用VS2005制作安装包">
<param name="Local" value="dotnethelp使用VS2005制作安装包.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="安装程序时读取路径的问题">
<param name="Local" value="dotnethelp安装程序时读取路径的问题.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="iexpress的作用及使用方法">
<param name="Local" value="dotnethelpiexpress的作用及使用方法.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="把.NET程序部署到没有安装.NET Framwork的机器上">
<param name="Local" value="dotnethelp把.NET程序部署到没有安装.NET Framwork的机器上.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="VS2005怎么制作安装包">
<param name="Local" value="dotnethelp初学者问一下,VS2005怎么制作安装包.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="日志记录组件[Log4net]详细介绍">
<param name="Local" value="dotnethelp日志记录组件[Log4net]详细介绍.html">
</OBJECT>
<LI><OBJECT type="text/sitemap">
<param name="Name" value="HTML Help WorkShop帮助手册">
<param name="Local" value="dotnethelpHTML Help WorkShop帮助手册.html">
</OBJECT>
</UL>
</BODY></HTML>
原创粉丝点击