從Windows 3.0到Windows 95,系統使用的幫助文件一直是.hlp格式,在安裝Windows98以後,我們發現系統中增加了一種.chm格式的幫助文件,與hlp文件相比chm文件有很大的改變,功能更加強大,支持的媒體文件更多,使用起來也更便捷。
7 t6 {' M' t6 u. r; h6 schm文件可用來製作軟件說明書、產品介紹、學習教程、電子圖書、報刊的電子版本、個人資料的整理等等。本文將由淺入深地介紹chm文件的製作方法,希望對讀者能有所幫助。
- ?! G a7 c* `/ R0 b5 g0 E* k* Q( I! T) N1 s- Z
一、chm文件及其製作工具HTML Help WorkShop簡介
8 ^7 m/ C0 o$ `8 ]7 s( achm文件是微軟1998年推出的基於html文件特性的幫助文件系統,以替代早先的WinHelp幫助系統,在Windows 98 中把chm類型文件稱作「已編譯的HTML幫助文件」。被Internet Explorer支持的JavaScript、VBScript、ActiveX、Java Applet、Flash、html圖像文件(GIF、JPEG、PNG)、音頻視頻文件(AU、MIDI、WAV、AVI)等等,chm同樣支持,並可以通過URL地址與因特網聯繫在一起。9 ^0 Z3 _. B" U1 K5 _% u/ G; X
是典型的chm文件運行界面,其窗口可分為3部分,上面是功能按鈕區,羅列了幾個常用的瀏覽器按鈕;右邊是主窗口;左邊是導航嵌窗。導航嵌窗用來快速定位感興趣的內容,這裡可包含標題、索引、搜索和標籤。按「隱藏∕顯示」按鈕可以把左邊的導航嵌窗關閉或打開,其他幾個按鈕瀏覽器中的也一樣,「選項」中是一些常用的控制命令。
& }% e( k9 |8 _' h( ~$ Z# K- v在Windows 98及以後的Windows版本中,chm文件的運行程序(hh.exe,27K)已是作系統的一部分,它控制支持ActiveX組件的網頁瀏覽器(如微軟的Internet Explorer 3.0以上版本)來解釋並運行chm文件中的元素,這樣的好處就是能跨平台運行chm文件,只要有不同平台上的運行器和瀏覽器,chm文件就不再需要重新進行編譯而直接使用,在不同語言的作系統下,chm文件也會自動顯示對應語種的菜單。
* j& ^4 j2 t# a& ?6 a! `5 l, i6 w. P在PC機上使用chm文件要求使用者的作系統裝有IE3.0 或以上版本,如果使用者仍在使用Windows 95 系統,就需要運行一個小程序(被稱作chm文件閱讀升級包)hhupd.exe(700K),以便在Windows 95 中也能正常使用chm文件。而在Windows 98以後的系統中可以直接使用chm文件。最新的Hhupd.exe的下載地址是:http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/hhupd.exe。8 p+ ?3 ?; K+ y6 w8 u9 Z
製作chm文件的最佳工具是微軟的HTML Help WorkShop,其最新版本號為1.31。雖然是英文版,但它的幾個單詞都比較簡單,稍有一些英文基礎的人基本上都能應付,如果不懂英文也沒關係,當你對照程序看完此文後,也許你對HTML Help WorkShop已能運用自如了,或者借助「東方快車」、「金山快譯」等軟件把英文菜單轉為漢字。
" O, u0 u% g6 E# J$ \HTML Help WorkShop 的作界面如圖(2)所示。上面是菜單欄,菜單下面的工具欄一般有5個按鈕,分別是〔New 新建〕、〔Open 打開〕、〔Compiled HTML file 編譯過的HTML文件〕、〔View Compiled file 查看編譯過的文件〕、〔Display online information 在線幫助〕。7 {9 y) J9 j M& k' e
為敘述方便,下文中將把「HTML Help WorkShop」簡稱為「HHW」。
% F7 r% ^6 r* s3 @' a0 e3 `- {! u
& ^& {: L9 X, J8 u! B二、製作前的準備
m# _" B) S4 @7 i( |% F4 I1.下載並安裝HTML Help WorkShop
6 A" ?* I7 o0 f" z* L# D# X: U你可以在微軟的站點上下載HHW軟件,也可以直接通過地址 http://msdn.microsoft.com/librar ... /wkshp/htmlhelp.exe下載。下載後直接運行htmlhelp.exe,一路「next」就可安裝成功。
! o* b6 g. ?6 |$ ?" qHHW內含一個圖形編輯處理程序(HTML Help Image Editor),圖形文件的處理也可以由它簡單處理。
0 u8 f. i5 ?6 k& c, B2 n; f8 }2.幾個概念+ B0 E6 T6 r2 U
相對來講製作chm文件比較簡單,大量的工作實際上是在前期製作html文件上,你在chm文件中所看到和聽到的,與你在瀏覽器中的結果是一樣的。你可以專門為製作chm文件而編製HTML,也可以直接利用現成的個人主頁快速做成chm文件以便向外發放,所不同的是,在個人網站上每個HTML文件之間必須由超級鏈接相連,而用來製作chm文件的HTML文件組裡,允許有獨立的HTML文件,用戶可以通過導航嵌窗來實現對其訪問。
5 _9 _- M$ g; ]$ x0 V現在讓我們先瞭解一下幾個用到的概念:
: B# s9 b' I+ q3 V0 Y6 Q- k(1)項目文件〔Project——.hhp文件〕:包含創建chm文件所需的HTML文件信息、目錄表文件信息、索引文件信息、窗口屬性、搜索、書籤定義等內容。一個chm文件對應著一個項目文件。
4 p/ F& W* g, n6 D" m$ y(2)目錄表文件〔Contents——.hhc文件〕:包含目錄表中每個標題與HTML文件的關聯關係。目錄表就好像是一本書的目錄頁。該文件不是必須的,如果創建的chm文件沒有導航嵌窗,就可以不創建.hhc文件,這樣一來HTML中的跳轉就要全部借助其內部的超級鏈接了。
. g8 }! l+ [: |, t9 m! d! S(3)索引文件〔Index——.hhk文件〕:一些專業書籍在其後面一般有個索引表,利用已經排序的字母、單詞或詞組來幫助讀者快速定位到需要的一個或幾個位置。在chm中也可以使用索引。索引文件中就包含每個關鍵詞(keyword)與HTML文件的對應關係。與目錄文件中的標題不同的是,一個關鍵詞可以對應多個HTML文件。索引文件也不是必須的,如果你的chm文件的信息不是太複雜,不創建它也行。
% a7 ^8 G: M m2 t(4)搜索:chm文件的搜索選項卡允許用戶在所有chm文件中全文搜索字、詞或短語,將它們的標題顯示出來,並把搜索出的詞組高亮顯示。如果使用搜索功能,chm文件會稍大一點。5 f! j& Q- l4 }9 @
(5)書籤:在我們閱讀圖書時,有時會在一些地方放個書籤,便於以後能快速找到該頁,在chm中也同樣有此功能。你可以把一些標題放到書籤列表中,下次你可以通過書籤快速找到對應標題。
: d! [7 P" V3 b(6)窗口屬性:是指chm文件的運行窗口。你可以自由定義窗口初始位置、大小、按鈕、導航嵌窗、顯示模式等。0 F3 u, a% z1 ]
目錄、索引、搜索和書籤是chm文件的導航嵌窗中的4個導航選項,任何一個都可以隨意打開或關閉,當4個功能全部關閉時,導航嵌窗將自動消失。9 k2 E) G9 ^7 K# Y( N1 [3 S+ ^
因為HHW對chm的控制非常靈活,所以你可以製作出功能強大的chm文件,也可以製作出非常簡單的chm文件。另外在製作中我們需要指明的是基本的HTML文件,而圖形、視頻、聲音等文件不需要指明位置,HHW會根據HTML文件中的鏈接找到它們。
1 S3 Q( r" U. d( y4 d8 M9 L) J" ^
+ `/ ]7 E9 }8 X, L三、製作簡單的chm文件
8 f8 Q" L$ v# v- M, a+ d我們把沒有導航功能的chm文件稱作「簡單的chm文件」,它沒有左邊的導航嵌窗,網頁之間的跳轉全部依靠HTML文件內部的超級鏈接。" s$ w* E+ r n! \) L
下面介紹製作簡單的chm文件(無導航功能)的步驟,這些步驟的敘述將在「製作較複雜chm文件」中省略或簡化,所以不可不讀。! f i" B8 d. H2 ?0 ~2 T& L: O
1 O. {2 V/ N9 i
1.製作沒有功能按鈕的chm文件
+ j& S4 I; l9 D首先你最好把所有要用到的html文件及有關圖形、聲音、視頻等文件複製到一個空文件夾中(當然可以包含子文件夾),並在IE瀏覽器中檢驗通過,然後啟動HHW。在File菜單中選〔New〕,彈出新建文件對話框。
9 z5 N" w8 ~& c9 i9 S6 \, ^' cHHW可以新建:項目〔Project〕、文本文件〔Text〕、HTML文件、目錄表文件〔Table of Contents〕和索引文件〔Index〕。我們選「項目」,彈出新建項目嚮導,提示你可以把以前的WinHelp項目文件轉換為HHW項目文件。我們直接按「下一步」。
" u+ F" D: G* k3 X( M在這裡指定欲創建的項目的位置和文件名,我們按〔Browse〕,選擇HTML文件所在目錄,並定義個項目文件名如test1(程序自動添加.hhp後綴),按「下一步」。在出現的對話框中指定已經存在的文件。因為我們目前只有HTML文件而沒有目錄文件(.hhc)和索引文件(.hhk),所以只在〔HTML files〕前面打上小勾。按「下一步」,進入添加HTML文件的窗口。按〔Add〕按鈕,把有關的標題HTML文件全部選中加入(可以一次全部選中加入)。按「完成」後,程序就會進入項目編輯界面,也就是HHW的主界面(參考圖2)。
: \: B! N6 E: P. _6 b首先我們給將來的chm文件的窗口標題條指定與chm內容相符的文字(如果不指定,則軟件默認為「幫助」):按〔Project〕項目選項中左邊第3個按鈕「新建/編輯窗口顯示風格」,在彈出的窗口類型中隨便輸入一個名字如「12」,按「OK」後就會進入「窗口屬性」定義對話框。在〔General〕選項卡中的〔Title bar text〕中輸入標題條文字「test1——最簡單的chm文件」如圖(3)。
& P9 T; E9 v- c4 D因為我們不需要導航嵌窗及功能按鈕部分,所以再確認一下在導航嵌窗〔Navigation Pane〕中不要選中〔Windows with navigation pane, topic pane, and button bar〕,如圖(4)。按確定退回HHW主界面。
+ T: O- v3 F3 Z/ B; _' X& ]現在按〔Compiled HTML File〕編譯按鈕或者通過在〔File〕菜單中選擇〔Compile〕進行編譯,chm文件就會在指定位置創建完成。這時你可以運行一下新創建的chm文件,不難發現,chm已經包含了所有用到的HTML文件、圖形文件等,相當於是把全部網頁文件打包到chm文件中了。如圖(5)就是最簡單的chm文件顯示效果。很簡單吧?9 Q4 _/ Q4 r! j1 m4 H1 H
2.製作包含功能按鈕的chm文件 S* {( z# |( ?( Z
與上面作相同,所不同的是:在進行到「窗口屬性定義」作時,在〔General〕中指定chm文件標題欄中的文字「test2——帶功能按鈕的chm文件」,在〔Button〕中指定欲在 chm 文件的按鈕區中顯示的按鈕如圖(6),在〔Navigation Pane〕導航嵌窗設置裡選中顯示導航嵌窗(與上面不一樣),如圖(7)。其他選項卡中我們使用默認值(後面在介紹)。設置好後,按編譯按鈕,生成的chm文件如圖(8)所示。因為我們沒有生成目錄表文件和索引文件,所以在chm中導航窗口不會顯示出來。
0 D" f( m5 h# W" m上面製作的chm文件比較簡單,但有時也很實用,對於比較簡單的幾個HTML文件也已經足夠了。如果HTML比較複雜,也可以使用分幀處理,同樣會做出出很不錯的chm文件,就像我們進入一些有分幀頁面的網站時的作方式一樣。如圖(9)。* |2 Q% F2 v6 ?) j) J
2 U+ [8 X+ }7 [3 s四、製作較複雜的chm文件
2 y! o( L2 H% r: M在Windows 98中我們常見的chm文件多數具有目錄及索引,有的還有搜索和書籤,這在使用chm文件的過程中會比較方便。下面我們就來製作帶目錄、索引、搜索、書籤的chm文件。在這裡我還將介紹一些常用的選項功能的解釋。8 g6 \% c5 \9 ?# t# G
此類chm文件一般包含有多個HTML文件。與前面一樣,你需要先把網頁文件做好,放到硬盤一個文件夾中,如 test3。進入HHW後選新建項目,並指定新建項目文件的位置和文件名(如test3),在已經存在的文件中選中目錄中所有用到的HTML文件後,進入HHW主界面。6 x/ d- i0 p. }9 z n8 @
& b" p) f. E( I; ?+ a, Q1 _5 K
1.目錄表文件的創建
. c$ Y" I" @# x* E8 I) [% |! m按〔Contents〕選項卡,選擇〔Create a new contents file〕創建新的目錄表文件,並命名它為 contents.hhc。然後進入目錄表編輯窗口,如圖(10)。在目錄編輯窗口左側,從上到下排列有11個按鈕,前5個分別是:目錄表屬性設置、插入標題、插入頁面、編輯所選標題或頁面屬性、刪除標題或頁面,下面4個箭頭用來調整所選標題或頁面的位置及從屬關係,最後兩個分別是顯示HTML文件源碼和保存文件。
+ Z2 y) E: ?* G0 y; Q插入一個標題:按〔Insert a heading〕按鈕,彈出〔Table of Contents Entry〕對話框,如圖(11),在〔Entry title〕中輸入標題內容,如「簡介」。按〔Add〕,在彈出的〔Path or URL〕對話框中選擇Title為「簡介」對應的 HTML 文件,如圖(12),按返回後一個標題就添加完成了。這裡你也可以按圖(12)下面的〔Browse...〕指定前面沒有選擇加入的HTML文件,或者直接在〔File or URL:〕中輸入。( z; W- L1 m% p+ ~: P+ r: Y2 k
在標題「簡介」下面再添加一個標題如「準備」:按〔Insert a Heading〕按鈕,會彈出一個詢問是否在所選標題上面插入標題的對話框,我們按「否」,在〔Entry title〕輸入頁面標題「準備」,並按〔Add〕指定對應的HTML文件,返回後就又加了一個標題。- U+ z% \& S( h6 a* W/ Z
在標題「準備」下面插入一個頁面(或者是子標題)如「下載」:按〔Insert a page〕按鈕,在〔Entry title〕輸入「下載」,並按〔Add〕指定對應的HTML文件,返回。! } C, x$ j8 |# ~. P. i% O% I2 I5 B
同樣我們可以加入許多標題、子標題、頁面,並可以利用那4個箭頭按鈕來調整標題或頁面的位置及從屬關係。HHW可以支持9個級別深度。
1 ?5 s. d7 w, E+ i# ~2 y1 F修改標題及改變標題圖標的方法:選中標題,按〔Edit selection〕按鈕,可以對其重新指定所關聯的HTML文件。在〔Advanced〕中通過下面的〔Image index〕改變標題的圖標。如圖(13)。
0 E& n G' {, ?3 x# S' E; O7 k設置目錄屬性:按〔Contents properties〕按鈕後我們可以改變目錄表顯示樣式等,使用默認設置就行。2 n4 U# Y% b+ [
所有標題創建完成後,按左下角的〔Save File〕按鈕,一個目錄表文件就創建完成了。如圖(14)。) f: q; H1 \& T! S3 ^4 E5 f; b
2.索引文件的創建
! V* F& L( {; w& n1 N與目錄文件的創建非常類似,只是索引文件中需要指定關鍵詞與HTML文件的關聯關係。不再贅述。請參考上述目錄表文件的創建方法。& Z) ?2 h$ d" _ f
3.項目文件的設置
9 t* ?( ~) r8 t按〔Project〕選項卡,進入項目編輯窗口(即默認的HHW介面)。其左邊排列有7個按鈕,分別是:項目屬性設置、增加或刪除HTML文件、增加或改變窗口屬性定義、API信息、顯示HTML源碼、保存文件、保存文件並編譯。4 p0 F5 B" k) n
我們按〔Change project options〕按鈕對項目進行設置:通常需要做的是,在〔General〕選項卡的〔Default file〕中指定封面頁。封面頁就是當打開chm文件時默認顯示的HTML文件。封面頁可以是目錄表中的某個標題所對應的HTML文件,也可以是在目錄表中不存在的專門用來作封面的 HTML 文件。如圖(15)。
2 |1 o6 i! d7 b如果想在chm文件中具備全文搜索功能,還需要在〔Compiler〕中選中〔Compile full-text Search Information〕,如圖(16)。4 N0 `. ^5 }8 S2 g+ S1 R# M
其他內容一般可以不去理會。
2 Q# h1 J c7 d5 O- c, z4.窗口顯示設置
% l0 F* m# X3 n/ N' w ~按第3個按鈕〔Add/Modify windows defunitions〕設置窗口屬性:這裡的設置將決定chm文件的顯示風格。在彈出的對話框中我們給窗口風格隨便指定一個名字(如12),按OK就進入了〔Windows Types〕對話框。常用的幾個設置項為:; q; ?8 l( n4 t+ `. j1 C+ J
(1)General常規. l8 L- g, k' w; U
〔Title bar text〕中輸入欲在chm文件的標題欄裡顯示的文字,如「輕鬆製作chm文件」。參考圖(3)。
/ i! | x6 _& w1 P& I(2)Buttons按鈕
* @1 f0 T. {; r0 l選擇欲在chm中出現的按鈕。參考圖(6)。# t" x# u ]) g5 ~- D3 N+ X) O1 [0 r
(3)Position位置1 c, Z' n+ t5 T1 t1 g0 q+ w4 W
〔Save user defined windows position after first use〕如果選中,則系統會保存chm使用者最後一次退出 chm 文件時窗口的位置、大小等,下次再打開chm時,系統會恢復這些屬性。如果不選中,則每次都以你默認的窗口大小、位置打開chm文件。
- Q, x m4 r' B2 P0 a# X) zLeft和Top是指定打開chm時窗口左上角的位置,Width和Height則指定窗口的寬和高。參考圖(17)。 h: U/ ^7 }2 q9 \1 o- V
(4)Files 文件 ]# [! h& r# t8 G& g1 e) C
如果選擇了顯示Home、Jump按鈕,就在這裡輸入對應的URL超鏈接地址,比如你的個人主頁地址。. h8 m- O2 K4 T1 @# a3 |5 D0 y7 ?
(5)Navigation Pane 導航嵌窗; B U2 U/ C7 [; m! \/ |
〔Windows with navigation pane,topic pane,and button〕如果不選,則chm窗口沒有導航嵌窗和按鈕。6 Y# M+ g# M9 V9 V8 |
〔Navigation pane width〕中指定導航嵌窗的寬度。: _% H$ x) o8 d
〔Open with navigation pane closed〕如果選中,在打開chm文件時導航嵌窗默認為關閉狀態。! |0 s; `7 L2 m) P; j. v/ \
〔Auto sync〕如果選中,chm中的目錄標題與HTML內容自動保持同步。
, u+ {/ j1 c* \1 ^9 n( H〔Automatically show/hide navigation pane〕如果選中,在chm為活動(當前)窗口時,導航嵌窗顯示,當不是活動窗口時,導航嵌窗自動隱藏。/ R8 ^# I1 i; F% o" t2 F+ c
〔Default tab〕中指定導航嵌窗中默認的顯示項。可以是目錄、索引、搜索、書籤。
4 w6 g3 d1 m$ V8 K: y- Y2 H〔Search tab〕如果選中,在chm中將具備全文搜索功能,而〔Advanced〕可以讓chm具有高級搜索的功能(使用and,or,not,near)。
. C( {4 z9 Q" l0 S2 L〔Favorites tab〕如果選中,chm文件就會具有書籤功能。如圖(18)。
% t' K* t6 X" \6 Q另外2個選項夾可以不管,使用默認設置就行。
8 B" ^& I" P* H/ k0 U+ n' b5.編譯成chm文件2 n6 }; S5 `( Z5 }
經過上面的設置,現在我們可以進行編譯了。按工具欄中的編譯按鈕或者直接按項目窗口左下方的〔Save all file and Compile〕按鈕,幾秒鐘以後chm文件就被編譯生成。然後用鼠標雙擊此chm文件就可以看到作品了,如果發現問題還可以返回HHW裡進行修改調整後再編譯,或者在以後雙擊.hhp 文件進行修改。! f# x, W/ Y7 G3 h+ L' C% ^5 A
3 c- d) U) \; u4 ^5 Y+ S0 I. r
五、反編譯一個chm文件% h% O0 @2 C' K$ `. S( T
有時我們需要把一個已經存在的chm文件反編譯,以便把其中的全部內容取出。反編譯的方法是:先創建一個新的文件夾,然後進入HWW程序,在〔File〕菜單中選〔Decompile〕,指定目標文件夾的位置和欲反編譯的chm文件,按OK,反編譯很快就會完成。這時在目標文件夾中就保存著chm中的所有文件和子文件夾,你可以慢慢研究別人的技巧了,或者對其進行修改後再編譯。其實HHW中還有許多功能和擴展設置選項,因篇幅所限不再介紹,大家自己探索吧。) {' E% @* Q& g: }9 C
本文介紹的軟件收錄於《大眾軟件CD》2000年第9期\BBX\下。 |