2011-12-06 16 views
4

私は、このように私のヘルプファイルを実行している:* .chmファイルに特定のトピックが存在するかどうかを確認する方法は?

Help.ShowHelp(null, @"help.chm", topicKeyword); 

しかしtopicKeywordは、トピックの総称であり、いくつかのケースでは、このトピックはのHelp.chmファイルに存在しない場合があります。私はこのトピックが存在するかどうか最初にチェックしたい、そうでなければユーザーはchm-fileを得るがエラーページ/トピックを得る。

+1

ネイティブAPI(HtmlHelp())はプリミティブです。たぶん、HH_KEYWORD_LOOKUPコマンド。それほど助けにならない、ユーザーはまだ見て便利な何かを持っていません。 –

答えて

0

jedwing CHMLibを使用すると、CHMファイルのトピックを列挙できます。たとえば、

static int CallBack(struct chmFile *h, struct chmUnitInfo *pUI, void *context) 
{ 
    printf("%s\n", pUI->path); 

    return CHM_ENUMERATOR_CONTINUE; 
} 

int main() 
{ 
    chmFile *pFile = chm_open("<Path to your CHM file>"); 
    if (pFile) 
    { 
     chm_enumerate(pFile, CHM_ENUMERATE_NORMAL, CallBack, 0); 

     chm_close(pFile); 
    } 

    return 0; 
} 

トピックを列挙したら、列挙型に対して候補URLを確認できます。

関連する問題