Pocket PC 2003 的 CHM 阅读器






4.91/5 (60投票s)
允许在 Pocket PC2003 上阅读 CHM 文件。
- 下载源代码文件 - 169 Kb
- 下载 PocketPC2003 ArmV4 的 CHMReader.Exe - 25.3 Kb
- 下载 PocketPC2002 ArmV4 的 CHMReader.Exe - 32 Kb
引言
我开始学习 MCAD。 在得到书后(我负担不起培训课程),我开始阅读。 然而,由于生活繁忙,我要么不得不随身携带很多沉重的书,要么坐在电脑前,而这并非总有可能。 后来我很幸运地在圣诞节得到了一台 Pocket PC。 但是 Pocket PC 并没有自带 CHM 阅读器,而且网上可用的 CHM 阅读器要么是付费的,要么无法很好地处理大型 CHM 文件。 所以我决定自己编写一个,这就是结果。 一个免费的 CHM 阅读器,可以处理大型 CHM 文件(测试过最大 14Mb)。 这个程序仅在 IPaq 5550 上的 Pocket PC 2003 上进行了测试。
代码
这个 CHM 阅读器是一个 MFC 文档列表应用程序,它使用许多优秀的库。
- Virtual Office Systems Incorporated -
VOImage
、VOString
和VORegistry
类 - Vassili Philippov -
CSTHtmlDialog
- Jed Wing -
CHMLib
库 - João Paulo Figueira [joao.figueira@vianw.pt] - 总体帮助
感谢所有这些人为网络贡献的伟大代码。
CHMReader 首先显示 PocketPC 所选目录中所有 CHM 文件的 DocList (MFC)。 当用户选择其中一个时,MFC 会创建一个新的 CCHMReaderDoc
实例,然后使用 CCHMFile
类。 这个类处理 CHMLib
库。 然后打开 CHM 文件,CCHMFile
类将构建 CHM 文件中包含的所有文件的列表。 它还构建了一个内容的树列表。 然后在 CCHMReaderView
类中显示。 这显示了 CHM 文件的内容。 然后用户可以选择内容中的一个项目,并显示一个新对话框。 此对话框包含 Pocket PC Internet Explorer 控件。 HTML 文件是从 CHM 文件中提取的,使用 CCHMFile
类和 CHMLib
库。 还会扫描 HTML 文件中的任何样式表条目。 然后也从 CHM 文件中提取它们。 然后使用 HTML 初始化 IE 控件以供显示。
需要注意的一件事是,图像是从 CHM 文件中提取的,因为 IE 控件需要它们。 当 IE 控件加载 HTML 时,它会通过通知消息依次请求每个图像。 当我处理通知时,我只是将图像从 CHM 文件提取到缓冲区中。 然后使用 VOImage
类对其进行解压缩。 然后将其传递回 IE 控件。
附加功能
我还添加了一些简单的附加功能,例如更改文本大小、切换“清除文本”和“适合窗口”的能力,因为这些都是由 IE 控件实现的。 我还在工具栏中添加了“<”和“>”按钮,以允许用户在内容列表中轻松前后导航。
另请注意:如果一个 CHM 文件需要来自其他 CHM 文件(Windows CHM 帮助文件)的文件,那么如果文件存在,CHMReader 将尝试获取所需的文件,但它并不总是能做到。
安装
只需将 CHMReader.EXE 和任何 CHM 文件复制到您的 PocketPC,然后运行即可。
构建环境
为了构建 CHMReader,我使用了嵌入式 Visual C V4 SP2。
历史
- V1.0 - 2004 年 2 月 9 日 - 首次发布
- V1.01 - 2004 年 2 月 11 日 - 错误修复 - 错误处理未在 CHM 文件中找到的图像。
- V1.03 - 2003 年 2 月 18 日 - 错误修复 - Pocket Internet Explorer 无法处理脚本或 XML 标签,因此我将它们从 HTML 代码中删除,然后再将其传递给 HTML 代码。 此外,指向 CHM 文件其他部分的链接无法正常工作。 现在已修复。
- 2003 年 2 月 24 日 - 添加了 PocketPC2002 OS 的下载
其他下载
如需最新下载,请从 这里 下载。