我正在尝试连接 htmlhelp api(这对于两个变体中的一个函数来说是一个大词),并且我对以下用例有疑问:
假设我有一个简单的程序员编辑器,带有一堆帮助文件 (.CHM)。有些来自核心运行时库,有些来自更奇特的库。假设 CHM 是正常制作的,并且它们的索引包含我要搜索的所有关键字。当用户在编辑器中的关键字上按 F1 时,我希望能够简单地搜索各种 CHM
所以大致我想要(在伪代码中):
firstchm
while not (out of CHMs) and not Found
{
if keyword in CHM then
{
found=true;
break;
}
nextchm;
}
我用 HH_HELP_TOPIC 玩了一点,但这会为每个尝试的文件弹出一个窗口,更糟糕的是它会很慢,因为 CHM 不会保持缓存。
除了使用 chmlib 进行 DIY 之外,真的没有其他解决方案吗?还是值得先研究合并的 CHM 文件?
语言是 Delphi 或克隆,但任何 win32/COM 和有点可读的都可以。
(编辑)嵌套索引条目的搜索结果可能是下一个问题: HTML 帮助关键字查找 (/编辑)
update 2 隔了半天,在别处得到了潜在的提示。制作一个合并所有其他 CHM 的 CHM 运行时。Windows 将为其生成包含所有从属 CHM 的 TOC 和索引的 CHW。但是,对于所有从属 CHM,需要 Binary TOC=off 和 Binary Index=on,并且需要安装/可用的 CHM 编译器。但既然这是 CHM 工作室的默认设置,那可能还不错。