导航

将CHM文件转换为HTML文件

Posted on 2012-11-14 10:21  吴豪  阅读(6909)  评论(0编辑  收藏  举报

CHM文件转换为HTML文件

如果要处理CHM文件,直接对其处理好像不太方便,微软提供的ShowHelp() API功能有限。这时我们可以讲CHM文件转换为HTML文件以便进行处理。

微软在Windows文件有一个DOS程序叫hh.exe,它有一个命令叫-decompile,这个命令就是专门用来解析CHM文件的,可以将其转换为对应的HTML文件。CHM本质上就是由许多HTML文件组合在一起构成的。下面举个例子。

我们先找一个CHM文件,CHM一般在Windows文件夹下的help文件夹下。我找了一个certmgr.chm,我们先打开它看看。如图:

我们看到目录里有7个页面,我们猜想转换估计也有7个页面。我们打开命令行,输入命令hh.exe -decompile E:\Users\Winner\Desktop\certmgr.chm E:\Windows\Help\mui\0411\certmgr.chm。在桌面上生成了一个certmgr.chm文件夹。绝大多数的CHM文件转换后会由3部分构成,如图:

Html文件夹里一般放的是HTML文件,不过有些也会出现css文件;local文件夹里放着CHM文件用到的图标;.hhc文件一般记载着CHM文件中所有HTML文件的名字(如html/ba6554ca-f33f-4dd3-beff-bd602018dcc5.htm)和标题(如证明书的概要)。

如果需要批量处理CHM文件的话,那就得写个.bat文件了。如果需要动态转换CHM文件,那就需要用代码执行转换命令,具体的就不赘述了。