我正在尝试连接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研讨会的默认,这可能不是太糟糕。
答案 0 :(得分:1)
您要创建索引还是要对这些关键字进行一次性搜索?
无法从具有逻辑文件名的CHM文件中提取HTML内容,搜索HTML内容并将其与CHM文件关联起来吗?