代码之家  ›  专栏  ›  技术社区  ›  Marco van de Voort

chm(htmlhelp)搜索关键字

  •  4
  • Marco van de Voort  · 技术社区  · 15 年前

    我正在尝试连接htmlhelp api(这是两个变体中一个函数的一个大字),我对以下用例有问题:

    假设我有一个简单的程序员编辑器,有一堆帮助文件(.chms)。有些来自核心运行库,有些来自更奇特的库。假设chm是正常构建的,并且它们的索引包含我要搜索的所有关键字。当用户在编辑器中按f1键时,我希望能够简单地搜索各种chm

    我大概想要(伪代码):

    firstchm
    while not (out of CHMs) and not Found
       {
             if keyword in CHM then
               {
                 found=true;
                 break;
               }  
          nextchm;  
        }
    

    我已经玩过一些hh_help_主题,但这会为每个尝试的文件弹出一个窗口,更糟的是,它会非常慢,因为chm不会保持缓存。

    除了用chmlib做diy,真的没有别的解决方案吗?还是值得先研究合并的chm文件?

    语言是delphi或clone,但任何win32/com和一些可读的东西都可以。

    (编辑)下一个问题可能是对嵌套索引项的搜索结果: HTML Help keyword lookup (编辑)

    更新2 很长一段时间后,我在别处得到了一个潜在的暗示。创建一个合并所有其他chm的chm运行时。windows将为它生成包含所有从chm的toc和索引的chws。但对于所有从chm,都需要binary toc=off和binary index=on,并且需要安装/可用的chm编译器。但由于这是chm研讨会的默认值,这可能并不太糟。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Yvo    14 年前

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

    不能用逻辑文件名从chm文件中提取html内容,搜索html内容并将其与chm文件关联起来吗?