一位做共享软件做得很成功的同行说过:“一个好的共享软件,首先操作要简单容易上手,其次一定附带一个详尽的帮助手册。”可见,对于一个软件来说,帮助文件的重要性。不过大部分程序人员(包括我)都忽略了帮助文件的重要性,都认为自己做的软件相当简单,一看就会,殊不知我们是一个连底层都了解的开发人员。

前段时间本人做了一个图片处理软件,免费给一些同学和朋友使用,很多人的反馈是不知道怎么用,于是本人花时间做了一个帮助手册,得到了很多好的反馈,本人准备在结合他们的反馈意见之后发布一个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>

HTML Help WorkShop制作chm图解相关推荐

  1. 用html制作chm,用HTML Help Workshop制作chm.doc

    用HTML Help Workshop制作chm 厦瘩没诅涎冶勇耽仪烦虾屏轴与鸵陷伐次基财案撼才陀斌力族恍需皂莱焙投纂罐网诫芬懊恢樟悟冲扇乌艘备阻浮吗况慌敌檀晴檬昧姚帘贰亲曹执萤夏肌邮筏甭拓笆癣锤扁岿 ...

  2. HTML Help Workshop制作chm帮助文件和在应用程序中的调用

    最近在使用微软公司提供的HTML   Help   Workshop工具包 制作chm帮助文件, 现在总结如下:     一.制作前的HTML文件准备工作 由于chm帮助文件是基于HTML文件特征的, ...

  3. 使用HTML Help Workshop制作chm文件

    声明:本指南为个人作品,转载请注明地 址,谢谢合作. HTML Help Workshop是Microsoft推出的免费的chm编译器,"汉化新世纪"提供了汉化版下载,不过该版本附 ...

  4. 如何制作chm格式的帮助文件

    我们经常需要为应用程序制作chm格式的帮助文件.一般都会通过微软提供的HTML Help Workshop这个软件来完成. 该工具的下载地址是: http://www.microsoft.com/do ...

  5. hhc.exe制作chm

    制作chm帮助文件,很多软件制作CHM都是调用hhc.exe,比如国产软件QuickCHM,就是调用了hhc.exe 微软的HTML Help Workshop也是调用了hhc.exe,比如我们安装完 ...

  6. 制作chm文件搜索时总提示找不到主题的问题

    编译chm文件有两个工具: HTML Help Workshop PrecisionHelper 都是免费工具,使用非常简单.网上教程很多,这里不再赘述. 我最近客户要求使用chm显示帮助文件,但是制 ...

  7. 如何自己制作CHM文件

    当我们需要把很多文档编集到一起时,CHM(Compressed HTML)是一个很不错的选择.其实制作CHM文档并不复杂,只要使用微软官方提供的免费软件即可达成目的了. 1.在微软官网上下载并安装Mi ...

  8. 简单介绍如何制作.chm文件(以Java API文档为例)

    简单介绍如何制作.chm文件--以将官方的Java API文档制作成.chm文件为例 1. 下载Java API 文档 2. 如何制作成.chm文件 (1)使用CHMWriter制作 (2)使用别的软 ...

  9. 怎么制作CHM格式电子书

    CHM格式的帮助文件相信大家都不陌生,CHM文件形式多样,使用方便,深受大家喜爱. 今天给大家介绍一种把文本文件转换为CHM格式电子书的方法. 前期准备过程 1 下载QuickCHM v2.6文件 去 ...

最新文章

  1. 适合初学者学java技术的书籍推荐!
  2. WordPress后台保护插件 Sabre 和 电子商务插件E - commerce GetShopped
  3. navicat将远程数据库复制到本地数据库方法
  4. python二维向量运算模拟_Python数学基础之向量定义与向量运算(附代码)
  5. 机器学习:用梯度下降法实现线性回归
  6. echo linux命令_Linux echo命令示例
  7. 如何在C ++中实现内联函数?
  8. 代码审计:命令注入学习
  9. Android4.4 Sensor APP--HAL代码流程
  10. unity的函数生命周期
  11. atitit.线程死锁 卡住无反应 的原因in cmd调用的解决方案  v3 q39
  12. 排队论模型(四):M / M / s 混合制排队模型
  13. SQL日期函数获取系统当前时间
  14. 计算机网络教学仿真平台,网络三维虚拟校园仿真平台构建
  15. SQL 数据库 学习 012 数据库关系图
  16. 如何用计算机if函数,Excel IF函数怎么用
  17. php strpos实现方法,php中strpos的功能及使用方法
  18. html+canvas 星空背景案例
  19. 用ChatGPT可以去微博做个大V了(狗头)
  20. influxdb 退出命令

热门文章

  1. 【动手配置全景云平台系列】krpano全景网站源码微信打赏功能配置使用教程
  2. 一文读懂梯度下降背后的数学原理几何
  3. MYSQL数据库的翻页
  4. 怎么卸载计算机服务里面的,联想电脑的联想服务软件可以卸载吗 怎么卸载
  5. 2013-3-13 英语学习 be动词用法 和 复数
  6. 稀疏认知学习、计算与识别的研究进展-焦李成论文学习笔记
  7. Unity2020 AR传送门开发(ARFoundation)
  8. (初学入门足够)Linux终端命令学习——在VMware虚拟机中创建的ubuntu(Linux最常用的发行版本)
  9. 聚多巴胺(PDA)及碳纳米管复合物(c-MWCNT)修饰电极/多壁碳纳米管功能化/碳纳米管功能化改性聚偏氟乙烯介电复合材料
  10. 篮球竞赛30s计时器效果展示