4

我正在尝试连接 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 工作室的默认设置,那可能还不错。

4

1 回答 1

1

您要创建索引还是一次性搜索这些关键字?

您不能从具有逻辑文件名的 CHM 文件中提取 HTML 内容,搜索 HTML 内容并将其与 CHM 文件相关联吗?

于 2010-02-01T22:01:33.837 回答