在入门篇中我们了解到如何使用C#调用hhc.exe来生成CHM文件,而在中篇中,我们进行了CHM反编译和将CHM文件转化为Word。在下篇中,我将简单介绍下这些技术在如何应用在实际项目中。

CHM电子书的优点:

1、CHM最好的地方就是对网页、图片的支持--实际上该格式类似于一个简版的IE浏览器,有目录、索引。
2、CHM的全文检索最为方便的是结果的高亮显示。

同时,CHM格式的电子书同样有一些缺点:首先系统必须是windows系统,而且必须是98以上的系统并装有ie3以上的浏览器,不能加批注。

我们可以看到一般软件的帮助文档一般都是CHM格式的,这也是CHM电子书流行的原因之一。

下面来简略讲讲如何在实际中应用前两篇提到的技术。

1.我们可以制作一个自己的CHM编辑器,当然编译器仍然是hhc.exe,我们只是做了下包装
2.可以定义自己的CHM模板制作出漂亮的CHM电子书,前提是模板是HTML格式的
3.可以结合BHO编程,将自己喜欢的网页内容直接保存为CHM电子书格式,或者先保存在本地,然后统一编译为CHM电子书
4.将现有的CHM电子书反编译为html格式的文件,并可以将CHM转换为word格式。

以上思路仅供参考,如果大家有好的想法,可以留言给我。

下面就第一点进行实现。

缘由

我发现一些编辑器不能插入格式化的代码,即插入的代码不能很好的显示器格式,没有语法着亮功能,于是一直想做一个这样的编辑器,一开始想做成web的,因为html编辑器有很多是支持代码插入功能,比如博客园的随笔编辑器,csdn发博得编辑器都支持代码插入功能。但是因为web的可移植性不好,要么需要装数据库,或者需要iis支持,于是就想做成cs的。

先来看看预览效果吧,

这个是主界面,可以输入关键字进行查询,可以模糊查询(使用Lucene.Net存储关键字的索引实现)

这个是编辑页面,里面的是WebBrowser,点击submit,将编辑器里面的内容保存为html页面,并将关键字中的文本保存为索引以供后面查询用

CHM编译时的界面,下方是编译时输出信息

这个是编译后的CHM文件,支持语法加亮

想法:

这个编辑器可以做为程序员的代码库编辑器,将自己常用到的代码分门别类的储存,必要时也可以生成CHM方便传阅,可以根据关键字或者标题查询(暂未实现)

下面提供beta版的程序下载,很多功能还没现在,大家见谅

代码库编辑器下载(简陋版)

PS:本来想早点把应用篇写好的,由于十一过来后电脑坏了,修好后就急急忙忙就弄了简陋版本的程序,搜索界面功能还没开始做,先放在那边,嘿嘿....

1.系统语言加亮暂时只实现C#代码的,其他的后面再加

2.编译为CHM的是工具栏最后一个图标,其他图标都不能用....

3.运行此程序需安装.net framework2.0以上版本,且hhc.exe和hha.dll存在于C:\Program Files\HTML Help Workshop目录下

4.如果大家有兴趣的话,我可以将我如何实现这个小软件的步骤跟大家分享下 ,如果觉得要实现步骤的,请推荐吧,3Q

转载于:https://www.cnblogs.com/cxd4321/archive/2011/10/08/2201697.html

C#生成CHM文件(应用篇)相关推荐

  1. C#生成CHM文件(应用篇)之代码库编辑器(1)

    下面的这个系列是以一个小软件的开发过程为基础,和大家分享下我在开发这个软件时遇到的一些问题和总结. 先更新下软件:代码库编辑器Beta版下载 ,上一版的程序见<C#生成CHM文件(应用篇)> ...

  2. C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】

    经历了快一个月的开发(因为都是在闲暇时间做的,实际实际可能不到一周),AlexisEditor总算完成了. 这边说明一下为什么有些网友不能新增文章的问题. 原因是路径中有中文字符,我一直用的是英文系统 ...

  3. C#生成CHM文件(应用篇)之代码库编辑器(3)【附源代码下载】

    在这篇文章中,我将介绍AlexisEditor项目下主要Form的实现,即MainForm.EditForm. MainForm MainForm包含的主要变量如下 以frm开头的都是对应的窗体变量, ...

  4. C#生成CHM文件(汇总篇)

    本文是前面的C#生成CHM文件系列文章的汇总以及一些其他的关于CHM的资料链接等. C#生成CHM文件(入门篇) http://www.cnblogs.com/alexis/archive/2010/ ...

  5. C#生成CHM文件(中级篇)

    在上篇<C#生成CHM文件(入门篇)>中,我们利用微软自带的hhc.exe以编程的方式创建一个CHM文件,而且调用的是一个静态的HMTL文件.   在中篇中,实现以下几个目标  1.将在线 ...

  6. C# 生成CHM文件 资料汇总

    本文是前面的C#生成CHM文件系列文章的汇总以及一些其他的关于CHM的资料链接等. C#生成CHM文件(入门篇) http://www.cnblogs.com/alexis/archive/2010/ ...

  7. C#生成CHM文件(外篇使用hha.dll)

    在<C#生成CHM文件>一系列中,我们是以微软自带的hhc.exe来编译CHM文件的,这样有一个弊端就是当我们的机器里面并没有装hhc.exe就会报错,这通常在盗版的Windows系统比较 ...

  8. 使用Teleport Ultra批量克隆网站,使用Easy CHM合并生成chm文件

    1.要下载的页面 http://www.howsoftworks.net/javaapi/ 2. 下载Teleport Ultra 3.使用Teleport Ultra批量克隆网站 4.下载Easy ...

  9. C#生成CHM文件(转)

    HTML Help Workshop介绍:微软出品的HTML Help WorkShop制作chm文件的最佳工具. 本文,我们将用编程的方法来实现将html文件编译成CHM文件.在开始编程之前,我们有 ...

最新文章

  1. 缓存用不好,Bug改到老
  2. 谁是深度学习框架一哥?2022 年,PyTorch 和 TensorFlow 再争霸
  3. Can't get attribute '_rebuild_tensor_v2' on module 'torch._utils'
  4. Logback日志使用详解
  5. 安装mysql5.5时常见错误--缺失make
  6. stm32F1和stm32F4的区别
  7. MySQL 表空间加密插件 Keyring
  8. win10语音语言服务器,win10系统:朗读女语音库(发音人)安装方法说明
  9. Linux mysqladmin 命令
  10. REST服务简介和实践
  11. JAVA转大数据的学习之路,就该这样走(内附1T大数据资料)
  12. vs2015 社区版
  13. DOS命令里面的EQ、NE、GT、LT、GE、LE分别是什么意思
  14. 考察交互的方差分析与简单效应分析(附带操作数据)
  15. 数据库内外连接、自连接
  16. 5G/NR 5G核心网(5GC)之网络功能和实体
  17. 深圳市威视爱普手术示教系统
  18. C语言遍历目录文件并排序
  19. 位移传递率matlab编程,机械振动设计计算与VB编程实例
  20. 使用74LS245驱动8×8LED点阵屏显示数字

热门文章

  1. 我的内核学习笔记10:Intel GPIO驱动源码分析
  2. YUV格式学习:NV12和YUV420P格式互换
  3. 拦截游戏窗口被移动_熊孩子骗家长人脸识别? 腾讯游戏出了个新招
  4. 【Kafka】Kafka 镜像 Kafka mirroring (MirrorMaker)
  5. 【Flink】FLink 如果watermark水印时间超出今天会是什么问题呢
  6. 【kafka】kafka 消费的时候 退出
  7. 【Spring】Spring中BeanPostProcessor
  8. 95-849-040-源码-RPC-Flink中的RPC使用
  9. 【Elasticsearch】 Full text queries query_string 等 字符串查询
  10. 【Elasticsearch】es一个奇怪的问题 is_write_index fasle的时候还在写入 索引滚动无效