最近在使用微軟公司提供的HTML Help Workshop工具包 制作chm幫助檔案, 現在總結如下:
一、制作前的HTML檔案準備工作
由于chm幫助檔案是基于HTML檔案特征的,是以前期編寫HTML檔案的準備工作很重要。 它的每個主題就是一個HTML檔案 ,
主題檔案
可以用任何一個HTML編輯器進行編輯,也可用HTML Help Workshop編輯, 也可以通過Word 97或Word
2000,将Word格式的
主題檔案轉換成HTML格式。
二、建立項目檔案
第一步:點選HTML Help Workshop菜單欄中的“File/New”指令,這時出現“選擇建立内容”的對話框,選中“Project”。
第二步:,按“OK”按鈕後,将“Convert WinHelp Project”這個選項留白,繼續下一步。
第三步:在彈出的"Destination"界面中,點選“Browse”按鈕,設定放置項目檔案的目錄及項目檔案名, 如 test,完成後,繼續下一
步。
第四步:因為我們已經事先建好了html檔案,此時請選擇“HTML file”,繼續下一步。
第五步:點一下“Add”按鈕并加入已經編輯好的主題檔案(也就是設定成首頁面的HTML檔案)。點選“下一步”,最後點選“完成”按
鈕,新的項目即已新增完成。 這裡也可以不添加, 直接下一步
現在就可以進入HTML Help Workshop工作視窗。在視窗的上方是3個卷标,分别是“Project(項目)”、“Contents(目錄)”、
“Index(索引)”。
在“Project”卷标的左側是7個按鈕,它們的功能名稱自上而下分别是:“Change project
options(改變項目選項)”、
“Add/Remove topic files(添加/删除主題檔案)”、“Add/Modify
window definitions(添加/修改視窗定義)”、“HtmlHelp
API
information(HTML幫助API資訊)”、“View HTML source(校驗HTML源檔案)”、“Save
Project Contents and
Index files(儲存項目、目錄和索引檔案)”、“Save all
file and Compile(儲存全部檔案并編譯)”。
第六步:點選“Project”編輯視窗下方的“Change Project
Options”按鈕後,會彈出一個“Options”對話框。在這個對話框的
“General”卷标的“Title”中輸入标題“test
幫助文檔”,編譯後這個标題将出現在chm檔案視窗的标題欄中。在“File”卷标中選上
“Automatically create
contents file(.hhc) when compiling”。
chm檔案的“Search(搜尋)”選項允許使用者在所有主題檔案中搜尋字、詞或短語,将它們的标題顯示出來,而且用醒目的方式顯示在
主題中。在
“Compiler”卷标中選上“Compiler full-text search information”,即可支援全文檢索功能。
第七步:點選“Save project file and
compile”按鈕,雖然此時已經可以觀看結果了,不過,我們要再多作一項設定讓最後的成品再完整些。
三、建立目錄檔案
第一步:點選HTML Help
Workshop工作視窗的“Contents”卷标,這時系統彈出一個對話框,提示你“項目”還沒有關聯目錄文
件(.hhc),選擇“Create
a new contents file”,點選“OK”按鈕後将建立一個新的目錄檔案。
第二步:請指定一個新目錄檔案名和存放路徑,點選“儲存”後出現目錄編輯視窗,目錄編輯視窗的左側有11個按鈕。
第三步:根據需要插入标題(類似資料總管中的目錄)或頁面(類似資料總管中某目錄下的檔案),按下“Insert a
heading(插入标題)”或“Insert a page(插入頁面)”按鈕,都會彈出“Table of Contents
Entry”對話框,在“Entry title”
輸入框中輸入條目的标題,并根據情況標明對應的主題檔案,單擊“Entry
title”下的“Add”按鈕,在彈出的對話框下面的“File or URL”
輸入框中
選擇在幫助檔案中單擊該主題時打開的頁面,我們在對話框中選擇一個.htm檔案,最後單擊"确定"按鈕.
第四步:如果在單擊“Insert a page”按鈕之前所選擇的條目不包含别的條目,也不被别的條目所包含,那麼會詢問“Do
you
want to insert this entry at the beginningof
the table of contents?”,選擇了“是”會增加起始條目(一級條
目),選擇了“否”會增加一個子條目。
标題可以分為多級,要按照制作的内容統一考慮。如果覺得不滿意,可以用左側的箭頭進行調整,也可以標明該條目,單擊滑鼠右鍵,
不但可以調整,還可以插入标題、主題或目錄檔案。
四、建立索引檔案
索引檔案(hhk)也是一個HTML檔案,它包含若幹個關鍵詞,當使用者打開chm檔案後,單擊索引标簽并輸入一個關鍵詞後,chm檔案
将顯示與這個關鍵詞有關的主題的清單,使大家非常友善地找到相關主題。
第一步:點選HTML Help
Workshop工作視窗的“Index”卷标,這時系統彈出一個對話框,提示你“項目”還沒有關聯索引檔案
(.hhk),選擇“Create a
new contents file”,點選“OK”按鈕後将建立一個新的索引檔案。
第二步:請指定一個新索引檔案名和存放路徑,點選“儲存”後出現索引編輯視窗,索引編輯視窗的左側有11個按鈕。
第三步:單擊“Insert a keyWord”按鈕,出現“Index
Entry”對話框,在“General”選項的“KeyWord”輸入框中輸入關鍵詞,
再單擊“Add”按鈕添加與該關鍵詞相關聯的主題檔案。如果想跳
轉到另一個關鍵詞,在“Index Entry”對話框中按“Advance”選項,選中
“Target is Another
KeyWord”,再單擊“General”選項的“KeyWord”輸入框中輸入關鍵詞,再單擊“Add”按鈕添加與要跳轉的關鍵
詞相關聯的主題檔案,
單擊“OK”按鈕。最後單擊“确定”按鈕,并按“Save file”進行存盤。
五、最後的設定工作
第一步:選擇“Project”卷标,點選“Change Project
Options”按鈕,在“File”卷标的“Content file”項目中,點選“Browse”
指定為toc.hhc。在“Index
file”項目中,點選“Browse”指定為index.hhc。在"Default
file"中輸入打開幫助檔案時的預設界面,我們可
以輸入一個.htm檔案的路徑
第二步:重新點選“Save project file and compile”按鈕進行存盤編譯。
第三步:最後點選主菜單“View/Compiled file”,通過“Browse”指定該chm檔案的目錄及檔案名即可看到我們的作品了
的确也夠簡單的了,隻要有完整的HTML源檔案,激活Html Help
Workshop建立一個新的項目檔案,将第一個html(通常是
default.htm或index.html)加進項目,存盤并編譯就大功告成。同樣
的一組HTML檔案,放在網站上是一頁一頁的網頁,變成單一的chm
後,則可用作軟體輔助說明,而且已經内建了全文檢索功能。
上述介紹的隻是制作chm幫助檔案的基本步驟。但它的功能遠非這些,如:可向HTML檔案中插入HTML Help ActiveX控件、Java
腳本、彈出式視窗等等。還可将已有的chm檔案解壓縮變回原來的HTML檔案。
六.在應用程式中調用CHM幫助檔案.
在vc 中:
方法一: 使用ShellExcute打開, 就跟啟動其他程式一樣的
ShellExecute(NULL,"open","test.chm",NULL,NULL,SW_SHOWMAXIMIZED);
方法二: 用HTML Help Workshop SDK中的HtmlHelp函數
1. 确認已經安裝htmlhelp , 将HTML Help Workshop/include/htmlhelp.h
和HTML Help Workshop/lib/htmlhelp.lib 兩個
檔案拷貝到vc的項目檔案夾中, Add to
project 加入htmlhelp.h
2. 加入代碼 #include "htmlhelp.h" #pragma comment(lib,"htmlhelp.lib")
HtmlHelp( m_hWnd,"test.chm",HH_DISPLAY_TOPIC,0);
在C#中:
将剛才制作的幫助檔案拷貝到你的C#程式的Debug目錄下,然後輕按兩下菜單中的"幫助"按鈕, 添加如下代碼:
Help.ShowHelp(this,@"test.chm");
然後為"幫助"菜單添加個快捷鍵F1,這樣在程式運作時,按F1鍵即可打開幫助檔案.
<a href="http://blog.csdn.net/zhangyang0402/archive/2007/05/06/1598512.aspx">http://blog.csdn.net/zhangyang0402/archive/2007/05/06/1598512.aspx</a>
<a href="http://blog.csdn.net/afxapi/archive/2004/12/23/226654.aspx">http://blog.csdn.net/afxapi/archive/2004/12/23/226654.aspx</a>