CHM是英语“Compiled Help Manual”的简写,即“已编译的帮助文件”。这是一个HTML格式的帮助文档,源文件就是HTML文件以及jpg、gif等等HTML所支持的元素。网上有许多的资料介绍如何创建CHM帮助文件,更多的只是推荐使用工具来创建,如微软官方的Mircosoft HTML Help Workshop 、强大的Esay CHM等等。我们却不知道CHM真正的面目是什么,在收集了网上的一些资料后,也自己在此记录下一些信息以了解CHM的创建过程。

手动创建简单CHM帮助文件步骤:
1.首先新建个文件夹专门放HTML文件,新建一个HTML文件,命名可以取之为"Index.html",在这里我简单写个HTML文件来测试:

<html> 
<head> 
  <title>无幻博客</title> 
</head> 
<body> 
  <h1>欢迎光临[无幻博客]</h1> 
  <h2>http://blog.csdn.net/akof1314</h2> 
</body> 
</html> 

2.在此文件夹下,新建一个文本文档,编辑内容为下:

[OPTIONS] 
Compatibility=1.1 or later 
Compiled file=MyChm.chm 
Display compile progress=No 
Language=0x804 中文(中国) 
 
[FILES] 
Index.html 

将此文件另存为MyChm.hhp;
3.准备"hhc.exe"文件,此文件可从网上下载,也可以下载HTML Help Workshop,里面就包含有。将"MyChm.hhp"文件拖动到"hhc.exe"文件上,或者用命令行方式,如下图所示:

4.在此文件夹下就生成了一个"MyChm.chm"文件,打开之后如下图所示:

可以发现上面创建的CHM文件就跟其源HTML一样,一般的CHM帮助文件都需要左边目录显示、索引等等,接下去做个目录:
1.接着上面的步骤继续下去。在此文件夹下,新建一个文本文档,编辑内容为下:

<!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="Index.html"> 
        </OBJECT> 
</UL> 
</BODY></HTML> 

将此文件另存为MyChm.hhc;
2.修改"MyChm.hhp"文件为:

[OPTIONS] 
Compatibility=1.1 or later 
Compiled file=MyChm.chm 
Contents file=MyChm.hhc 
Display compile progress=No 
Language=0x804 中文(中国) 
 
[FILES] 
Index.html 

3.跟上面一样,用"hhc.exe"编译成CHM文件,打开之后如下图所示:

为了让创建的CHM帮助文档更加丰富,不仅可以自定义标题,还可以添加按钮等等。下面实现显示索引和设置窗口属性:
1.接着上面的步骤继续下去。在此文件夹下,新建一个文本文档,编辑内容为下:

<!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="Index.html"> 
     </OBJECT> 
</UL> 
</BODY></HTML> 

将此文件另存为MyChm.hhk;
2.修改"MyChm.hhp"文件为:

[OPTIONS] 
Compatibility=1.1 or later 
Compiled file=MyChm.chm 
Default Window=ChmMain 
Display compile progress=No 
Language=0x804 中文(中国) 
 
[WINDOWS] 
ChmMain="无幻博客","MyChm.hhc","MyChm.hhk","Index.html",,,,,,0x2020,,0x3006,,,,,,,,0 
 
[FILES] 
Index.html 

3.跟上面一样,用"hhc.exe"编译成CHM文件,打开之后如下图所示:

参考资料:
1.HHP格式解析 http://www.mysticboy.cn/article.asp?id=10
2.CHM格式电子书制作详解 http://www.dxsheng.com/news/HTML/5903.html
3.用微软的MS HTML Help Workshop工具来制作chm格式电子书 http://www.uurain.net/onews.asp?id=578

手动创建简单CHM帮助文件相关推荐

  1. 解决VS无法识别手动创建的app.manifest文件的问题

    解决VS无法识别手动创建的app.manifest文件的问题 解决方案 删除手动添加的app.manifest文件,修改项目属性使项目自动添加app.manifest文件. 操作流程 1.选择当前项目 ...

  2. linux 系统创建ora文件,手动创建oracle数据库

    系统环境: 1.操作系统:Windows 2000 Pro 2.数据库: Oracle9I Release 9.2.0.3.0 3.安装路径:D:\ORACLE 建库步骤: 1.手工创建相关目录 D: ...

  3. 如何使用a手动创建文件。 Windows中的(点)前缀?例如,.htaccess

    我想手动创建一个.htaccess文件,并通过Windows UI发现它似乎是不可能的. 我得到一个"你必须输入文件名". 信息. 必须有一种方法来创建文件. 作为Windows中 ...

  4. Python 创建简单的统一格式文件

    Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式来编写笔记. 本文利用简单的Python文件操作, 实现了在短时间内创建一批以"00XX.md"格式为名, ...

  5. 手动创建数据库实例全攻略4:参数文件

    手动创建数据库实例全攻略4:参数文件 一.参数文件说明 1.参数文件作用. 在前期的数据库知识探索实验中,我们经常使用这个参数. http://www.cnblogs.com/alexy/p/crea ...

  6. linux生成initrd,手动创建系统启动镜像文件:initrd.img

    手动创建系统启动镜像文件:initrd.img 有时候为了能让某些模块提前加载,修改系统启动引导文件可能是唯一方法:下面是从网上摘录的提前加载multipath所需模块并提前启动multipath的过 ...

  7. 解决win7无法打开chm格式文件的问题

    解决win7无法打开chm格式文件的问题. (一).简单方法(本人用的这个) 1.打开chm 2.win7提示安全问题 3.chm无法显示内容 4.关闭chm 5.右键点击chm,点击"解除 ...

  8. dingo php,用laravel dingo/api创建简单的api

    这篇文章主要介绍了关于用laravel dingo/api创建简单的api,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1,修改.env配置文件添加API_STANDARDS_TRE ...

  9. 手把手教你手动创建线程池

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:2020,搞个 Mac 玩玩!个人原创+1博客:点击前往,查看更多 作者:IamHYN 链接:https://s ...

最新文章

  1. R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE
  2. 数学之美系列二 -- 谈谈中文分词
  3. (原創) 如何讓Linux開機時,不要在圖形介面顯示開機訊息? (OS) (Linux) (CentOS)
  4. 多样性算法在58部落的实践和思考
  5. 最优化课堂笔记01: 第一章 最优化的基本概念
  6. SwiftGen管理UIImage等的String-based接口
  7. MSAgent技术应用
  8. Hibernate下载地址
  9. 【STM32】 ESP8266WIFI模块
  10. BZOJ 5336: [TJOI2018]party Dp套Dp
  11. 【线性代数】行列式和矩阵的关系
  12. C++编译原理,O1 O2 O3编译优化
  13. SQL练习题附重点函数说明--更新至21题
  14. ESP32基于arduino开发的心跳体温检测系统(一)项目介绍及准备
  15. OpenVINO工具套件高级课程第一课:如何充分使用OpenVINO工具套件?
  16. XTU 程序设计实践模拟考试题1
  17. 量化投资 无套利 No-arbitrage
  18. nav 计算机网络_计算机网络课件谢希仁
  19. 有关面试八股文的一些难点
  20. 一位父亲给女儿的九条人生忠告

热门文章

  1. python 涨停统计_Python tushare股票大数据分析与报告生成(优化版1)
  2. 数学建模历年真题分析
  3. Google Earth Engine(GEE)——逐年批量下载sentinel-2多波段影像
  4. pod install 报错 Insecure world writable, mode 040777
  5. 【LoRaWAN节点应用】安信可Ra-08/Ra-08H模组入网LoRaWAN网络的应用及功耗情况
  6. python玩转android_Python Xplorer
  7. 【考研英语】态度题/情感词汇
  8. css3遮盖,关于css3的阴影遮盖问题的小研究
  9. python list()
  10. [AcWing算法刷题]之DFS+BFS迷宫模板(简单)