如何检查*中是否存在特定主题.chm文件

本文关键字:存在 文件 chm 是否 何检查 检查 | 更新日期: 2023-09-27 18:16:52

我以这种方式运行我的帮助文件:

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

topicKeyword是主题的通用名称,在某些情况下,该主题可能不存在于帮助中。chm文件。我想先检查这个主题是否存在,否则用户将得到chm文件,但有错误页/主题。

如何检查*中是否存在特定主题.chm文件

您可以使用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。