Я пытаюсь интерфейс с HTMLHelp API (который является большим словом для одной функции в двух вариантах), и у меня есть проблемы со следующим USECASE:CHM (HtmlHelp) поиск ключевого слова
Предположит, у меня есть простой редактор программиста, с кучей файлов справки (.CHM). Некоторые из них из основной библиотеки времени выполнения, некоторые из более экзотических библиотек. Предположим, что CHM создаются нормально, а их индексы содержат все ключевые слова, которые я хочу найти. Я хочу быть просто в состоянии искать через различные CHMs, когда пользователь нажимает клавишу F1 на ключевое слово в редакторе
Так примерно я хочу (в псевдокоде):
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 будет генерировать CHW для него, содержащего все подчиненные CHM TOC и индексы. Требуется Binary TOC = off и Binary Index = on, хотя для всех подчиненных CHM и установлен/доступен компилятор CHM. Но поскольку это мастерская CHM по умолчанию, это может быть не так уж плохо.
Я хочу работать через Windows API. Я уже могу открыть и обработать CHM за пределами этого (я сгенерировал их с помощью собственного кода без MS-компилятора), но я бы предпочел использовать систему Windows на окнах. –