Я не вижу поддержки в helpintfs.
Я попробовал себя один раз с D2006 / FPC и передал результаты в FPC:
Вам понадобится юнит "htmlhelp" из
http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/winunits-base/src/htmlhelp.pp?view=co
и выполнить некоторый перевод в unicode в этом файле (например, изменить все pchar на pansichar, заменить ptr (u) int на native (u) int и т. Д.)
Этот файл имеет константу HH_ALINK_LOOKUP, которую afaik можно использовать для поиска ссылок и ключевых слов.
Это можно передать в функцию htmlhelp. Приведенный ниже код взят из Free Pascal и использует ansistrings, но, вероятно, работает аналогично в Delphi
{$apptype console}
Uses HTMLHelp;
var
keyword : ansistring;
HelpfileName : AnsiString;
htmltopic : AnsiString;
res : Integer;
ah : PHH_AKLINK ;
Begin
Helpfilename:='rtl.chm';
keyword:='Sysutils' ;
New(ah);
fillchar(ah^,sizeof(ah^),#0);
ah.cbstruct:=sizeof(tagHH_AKLINK);
ah.fReserved := FALSE ;
ah.pszKeywords :=pansichar(keyword);
ah.pszUrl := NIL ;
ah.pszMsgText :='Text succes' ;
ah.pszMsgTitle :='Text fail';
ah.pszWindow := NIL ;
ah.fIndexOnFail:= false;
Res:=HtmlHelpA(0,pansichar(helpfilename) ,HH_DISPLAY_INDEX,PTRUINT(PAnsiChar(Keyword)));
// keyword search seems to have same effect.
Res:=HtmlHelpA(0,pansichar(helpfilename) ,HH_ALINK_LOOKUP,PTRUINT(AH));
writeln(ah.pszkeywords);
writeln(ah.pszurl);
writeln(ah.pszmsgtext);
writeln(ah.pszmsgtitle);
writeln(ah.pszwindow);
writeln(res);
readln;
end.