2011-12-06 40 views
4

我跑我的幫助文件中這樣說:如何檢查* .chm文件中是否存在特定主題?

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

topicKeyword爲主題的通用名稱,並在某些情況下,這個話題可能不是在的help.chm文件存在。我想首先檢查這個主題是否存在,否則用戶將得到chm文件,但是有錯誤頁面/主題。

+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。

相關問題