CHM(htmlhelp)搜索关键字

时间:2009-09-05 23:48:31

标签: chm context-sensitive-help

我正在尝试连接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_TOPIC玩了一下,但是会为每个尝试过的文件弹出一个窗口,更糟糕的是,因为CHM不会保持缓存状态,所以会慢一点。

除了DIY之外,真的没有解决方案吗? chmlib?或者是否值得首先研究合并的CHM文件?

语言是Delphi或克隆,但任何win32 / COM和可读性都可以。

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

更新2 很长一段时间后,我在其他地方得到了一个潜在的暗示。制作合并所有其他CHM的CHM运行时。 Windows将为其生成包含所有从属CHM的TOC和索引的CHW。但是,对于所有从属CHM和安装/可用的CHM编译器,需要二进制TOC =关闭和二进制索引=打开。但由于这是CHM研讨会的默认,这可能不是太糟糕。

1 个答案:

答案 0 :(得分:1)

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

无法从具有逻辑文件名的CHM文件中提取HTML内容,搜索HTML内容并将其与CHM文件关联起来吗?