4

私は htmlhelp api (2 つのバリアントで 1 つの関数を表す大きな言葉です) をインターフェイスしようとしていますが、次のユースケースで問題があります。

多数のヘルプファイル (.CHM) を備えた単純なプログラマー用エディターがあるとします。コア ランタイム ライブラリからのものもあれば、よりエキゾチックなライブラリからのものもあります。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 がキャッシュされたままにならないため、非常に遅くなります。

chmlibなどでDIYする以外に解決策は本当にありませんか? それとも、マージされた CHM ファイルを最初に調査する価値がありますか?

言語は Delphi またはクローンですが、win32/COM で多少読みやすいものであれば何でもかまいません。

(編集) ネストされたインデックス エントリの検索結果が次の問題になる可能性があります: HTML ヘルプのキーワード検索 (/編集)

更新 2 久しぶりに、別の場所で潜在的なヒントを得ました。他のすべての CHM をマージする CHM ランタイムを作成します。Windows は、すべてのスレーブ CHM の TOC とインデックスを含む CHW を生成します。ただし、すべてのスレーブ CHM に対して Binary TOC=off および Binary Index=on が必要であり、CHM コンパイラがインストールされているか利用可能である必要があります。しかし、これは CHM ワークショップのデフォルトであるため、それほど悪くはないかもしれません。

4

1 に答える 1

1

インデックスを作成しますか、それともこれらのキーワードの 1 回限りの検索を行いますか?

論理ファイル名を使用して CHM ファイルから HTML コンテンツを抽出し、HTML コンテンツを検索して、それを CHM ファイルに関連付けることはできませんでしたか?

于 2010-02-01T22:01:33.837 に答える