從Windows 3.0到Windows 95,系統使用的幫助文件一直是.hlp格式,在安裝Windows98以後,我們發現系統中增加了一種.chm格式的幫助文件,與hlp文件相比chm文件有很大的改變,功能更加強大,支持的媒體文件更多,使用起來也更便捷。
$ e0 T" k/ c. w3 v' y( lchm文件可用來製作軟件說明書、產品介紹、學習教程、電子圖書、報刊的電子版本、個人資料的整理等等。本文將由淺入深地介紹chm文件的製作方法,希望對讀者能有所幫助。
3 m! ^. n" Q$ o, j* O$ i& ^# J) U0 d& @
一、chm文件及其製作工具HTML Help WorkShop簡介
% U/ x6 `5 S u* h: Zchm文件是微軟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地址與因特網聯繫在一起。5 |* c$ d7 {8 \2 E; l
是典型的chm文件運行界面,其窗口可分為3部分,上面是功能按鈕區,羅列了幾個常用的瀏覽器按鈕;右邊是主窗口;左邊是導航嵌窗。導航嵌窗用來快速定位感興趣的內容,這裡可包含標題、索引、搜索和標籤。按「隱藏∕顯示」按鈕可以把左邊的導航嵌窗關閉或打開,其他幾個按鈕瀏覽器中的也一樣,「選項」中是一些常用的控制命令。( f" G b2 U, z2 u% p, [/ V
在Windows 98及以後的Windows版本中,chm文件的運行程序(hh.exe,27K)已是作系統的一部分,它控制支持ActiveX組件的網頁瀏覽器(如微軟的Internet Explorer 3.0以上版本)來解釋並運行chm文件中的元素,這樣的好處就是能跨平台運行chm文件,只要有不同平台上的運行器和瀏覽器,chm文件就不再需要重新進行編譯而直接使用,在不同語言的作系統下,chm文件也會自動顯示對應語種的菜單。
0 j$ X* s B" v; s; Y8 H4 C; w在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。
" _; Y- \3 [; Q) ~& |3 S; ~0 D2 Z製作chm文件的最佳工具是微軟的HTML Help WorkShop,其最新版本號為1.31。雖然是英文版,但它的幾個單詞都比較簡單,稍有一些英文基礎的人基本上都能應付,如果不懂英文也沒關係,當你對照程序看完此文後,也許你對HTML Help WorkShop已能運用自如了,或者借助「東方快車」、「金山快譯」等軟件把英文菜單轉為漢字。
5 j9 L( s; H4 i9 l9 f+ l# i1 ?: v# x" oHTML Help WorkShop 的作界面如圖(2)所示。上面是菜單欄,菜單下面的工具欄一般有5個按鈕,分別是〔New 新建〕、〔Open 打開〕、〔Compiled HTML file 編譯過的HTML文件〕、〔View Compiled file 查看編譯過的文件〕、〔Display online information 在線幫助〕。
% q4 N* T2 u" \2 O為敘述方便,下文中將把「HTML Help WorkShop」簡稱為「HHW」。2 ]! F8 ?; D% G& x
( W' K/ y" ~ X( m3 R
二、製作前的準備$ \2 \& H" M2 `$ Q
1.下載並安裝HTML Help WorkShop6 F3 o1 u$ b1 _6 p# ~
你可以在微軟的站點上下載HHW軟件,也可以直接通過地址 http://msdn.microsoft.com/librar ... /wkshp/htmlhelp.exe下載。下載後直接運行htmlhelp.exe,一路「next」就可安裝成功。3 `6 V9 J% }$ ^& S
HHW內含一個圖形編輯處理程序(HTML Help Image Editor),圖形文件的處理也可以由它簡單處理。
% p6 G% S- b g- t1 Z2.幾個概念1 F6 ]* h p1 V _8 u0 f% K
相對來講製作chm文件比較簡單,大量的工作實際上是在前期製作html文件上,你在chm文件中所看到和聽到的,與你在瀏覽器中的結果是一樣的。你可以專門為製作chm文件而編製HTML,也可以直接利用現成的個人主頁快速做成chm文件以便向外發放,所不同的是,在個人網站上每個HTML文件之間必須由超級鏈接相連,而用來製作chm文件的HTML文件組裡,允許有獨立的HTML文件,用戶可以通過導航嵌窗來實現對其訪問。
3 @6 t& P$ `) ^6 F) z現在讓我們先瞭解一下幾個用到的概念:: |/ h2 j& U% W, {
(1)項目文件〔Project——.hhp文件〕:包含創建chm文件所需的HTML文件信息、目錄表文件信息、索引文件信息、窗口屬性、搜索、書籤定義等內容。一個chm文件對應著一個項目文件。. P f E3 f' h4 `
(2)目錄表文件〔Contents——.hhc文件〕:包含目錄表中每個標題與HTML文件的關聯關係。目錄表就好像是一本書的目錄頁。該文件不是必須的,如果創建的chm文件沒有導航嵌窗,就可以不創建.hhc文件,這樣一來HTML中的跳轉就要全部借助其內部的超級鏈接了。& |5 n, `3 s' J% z6 p' z
(3)索引文件〔Index——.hhk文件〕:一些專業書籍在其後面一般有個索引表,利用已經排序的字母、單詞或詞組來幫助讀者快速定位到需要的一個或幾個位置。在chm中也可以使用索引。索引文件中就包含每個關鍵詞(keyword)與HTML文件的對應關係。與目錄文件中的標題不同的是,一個關鍵詞可以對應多個HTML文件。索引文件也不是必須的,如果你的chm文件的信息不是太複雜,不創建它也行。2 p" I s) S4 q- o: _2 j
(4)搜索:chm文件的搜索選項卡允許用戶在所有chm文件中全文搜索字、詞或短語,將它們的標題顯示出來,並把搜索出的詞組高亮顯示。如果使用搜索功能,chm文件會稍大一點。. Y0 `) T6 w8 i' C3 c7 G4 o& n$ d* I
(5)書籤:在我們閱讀圖書時,有時會在一些地方放個書籤,便於以後能快速找到該頁,在chm中也同樣有此功能。你可以把一些標題放到書籤列表中,下次你可以通過書籤快速找到對應標題。
1 v$ d4 ^4 z/ t, c7 b. d(6)窗口屬性:是指chm文件的運行窗口。你可以自由定義窗口初始位置、大小、按鈕、導航嵌窗、顯示模式等。+ Z7 d5 f, M) m# s8 b( L
目錄、索引、搜索和書籤是chm文件的導航嵌窗中的4個導航選項,任何一個都可以隨意打開或關閉,當4個功能全部關閉時,導航嵌窗將自動消失。
$ Y l1 [' I, ]8 I因為HHW對chm的控制非常靈活,所以你可以製作出功能強大的chm文件,也可以製作出非常簡單的chm文件。另外在製作中我們需要指明的是基本的HTML文件,而圖形、視頻、聲音等文件不需要指明位置,HHW會根據HTML文件中的鏈接找到它們。6 }5 W+ ^( g" T) t- q
m; u/ B% S }# x1 P
三、製作簡單的chm文件$ h8 Y: ]3 T; n# L( u" e7 x h
我們把沒有導航功能的chm文件稱作「簡單的chm文件」,它沒有左邊的導航嵌窗,網頁之間的跳轉全部依靠HTML文件內部的超級鏈接。
! Q! p: W8 c5 y! q9 K5 n下面介紹製作簡單的chm文件(無導航功能)的步驟,這些步驟的敘述將在「製作較複雜chm文件」中省略或簡化,所以不可不讀。" }, e& h* J _5 u
: `" C/ F( ^0 }) P1 B; x- n' {, w
1.製作沒有功能按鈕的chm文件
6 \5 b& P/ b1 B2 D' H1 ~. K) I首先你最好把所有要用到的html文件及有關圖形、聲音、視頻等文件複製到一個空文件夾中(當然可以包含子文件夾),並在IE瀏覽器中檢驗通過,然後啟動HHW。在File菜單中選〔New〕,彈出新建文件對話框。- ^/ ~" ]+ [# b6 {; M% |
HHW可以新建:項目〔Project〕、文本文件〔Text〕、HTML文件、目錄表文件〔Table of Contents〕和索引文件〔Index〕。我們選「項目」,彈出新建項目嚮導,提示你可以把以前的WinHelp項目文件轉換為HHW項目文件。我們直接按「下一步」。
2 V0 L4 q0 H! E# _# J' M0 Y在這裡指定欲創建的項目的位置和文件名,我們按〔Browse〕,選擇HTML文件所在目錄,並定義個項目文件名如test1(程序自動添加.hhp後綴),按「下一步」。在出現的對話框中指定已經存在的文件。因為我們目前只有HTML文件而沒有目錄文件(.hhc)和索引文件(.hhk),所以只在〔HTML files〕前面打上小勾。按「下一步」,進入添加HTML文件的窗口。按〔Add〕按鈕,把有關的標題HTML文件全部選中加入(可以一次全部選中加入)。按「完成」後,程序就會進入項目編輯界面,也就是HHW的主界面(參考圖2)。4 z7 i; s8 T5 W" S3 o
首先我們給將來的chm文件的窗口標題條指定與chm內容相符的文字(如果不指定,則軟件默認為「幫助」):按〔Project〕項目選項中左邊第3個按鈕「新建/編輯窗口顯示風格」,在彈出的窗口類型中隨便輸入一個名字如「12」,按「OK」後就會進入「窗口屬性」定義對話框。在〔General〕選項卡中的〔Title bar text〕中輸入標題條文字「test1——最簡單的chm文件」如圖(3)。# f6 R" z9 n. k) O7 \( W
因為我們不需要導航嵌窗及功能按鈕部分,所以再確認一下在導航嵌窗〔Navigation Pane〕中不要選中〔Windows with navigation pane, topic pane, and button bar〕,如圖(4)。按確定退回HHW主界面。5 ~2 ]+ g6 F0 z
現在按〔Compiled HTML File〕編譯按鈕或者通過在〔File〕菜單中選擇〔Compile〕進行編譯,chm文件就會在指定位置創建完成。這時你可以運行一下新創建的chm文件,不難發現,chm已經包含了所有用到的HTML文件、圖形文件等,相當於是把全部網頁文件打包到chm文件中了。如圖(5)就是最簡單的chm文件顯示效果。很簡單吧?
9 x3 m5 f1 D5 I% O0 w$ u2.製作包含功能按鈕的chm文件
8 v' \# _. n% Y與上面作相同,所不同的是:在進行到「窗口屬性定義」作時,在〔General〕中指定chm文件標題欄中的文字「test2——帶功能按鈕的chm文件」,在〔Button〕中指定欲在 chm 文件的按鈕區中顯示的按鈕如圖(6),在〔Navigation Pane〕導航嵌窗設置裡選中顯示導航嵌窗(與上面不一樣),如圖(7)。其他選項卡中我們使用默認值(後面在介紹)。設置好後,按編譯按鈕,生成的chm文件如圖(8)所示。因為我們沒有生成目錄表文件和索引文件,所以在chm中導航窗口不會顯示出來。
0 U6 m( \3 e! N+ M上面製作的chm文件比較簡單,但有時也很實用,對於比較簡單的幾個HTML文件也已經足夠了。如果HTML比較複雜,也可以使用分幀處理,同樣會做出出很不錯的chm文件,就像我們進入一些有分幀頁面的網站時的作方式一樣。如圖(9)。
7 y0 K8 s- j* L6 B% H6 r
0 `+ @/ x' Y5 e6 r" Z0 x- L5 O四、製作較複雜的chm文件8 C/ |, U. ]+ [ j' z$ @2 c
在Windows 98中我們常見的chm文件多數具有目錄及索引,有的還有搜索和書籤,這在使用chm文件的過程中會比較方便。下面我們就來製作帶目錄、索引、搜索、書籤的chm文件。在這裡我還將介紹一些常用的選項功能的解釋。& }: C8 l; a( A& C9 y
此類chm文件一般包含有多個HTML文件。與前面一樣,你需要先把網頁文件做好,放到硬盤一個文件夾中,如 test3。進入HHW後選新建項目,並指定新建項目文件的位置和文件名(如test3),在已經存在的文件中選中目錄中所有用到的HTML文件後,進入HHW主界面。
) @% J9 {# j* x5 L. d. U0 S- c- V1 C% x, s0 I4 Q
1.目錄表文件的創建
5 u+ L) V* Z) C" S& y4 [按〔Contents〕選項卡,選擇〔Create a new contents file〕創建新的目錄表文件,並命名它為 contents.hhc。然後進入目錄表編輯窗口,如圖(10)。在目錄編輯窗口左側,從上到下排列有11個按鈕,前5個分別是:目錄表屬性設置、插入標題、插入頁面、編輯所選標題或頁面屬性、刪除標題或頁面,下面4個箭頭用來調整所選標題或頁面的位置及從屬關係,最後兩個分別是顯示HTML文件源碼和保存文件。
' B* S: x& u/ U: O! V+ g v$ J5 m插入一個標題:按〔Insert a heading〕按鈕,彈出〔Table of Contents Entry〕對話框,如圖(11),在〔Entry title〕中輸入標題內容,如「簡介」。按〔Add〕,在彈出的〔Path or URL〕對話框中選擇Title為「簡介」對應的 HTML 文件,如圖(12),按返回後一個標題就添加完成了。這裡你也可以按圖(12)下面的〔Browse...〕指定前面沒有選擇加入的HTML文件,或者直接在〔File or URL:〕中輸入。6 }) N6 Z7 n8 j" Z3 S9 Y1 l% _
在標題「簡介」下面再添加一個標題如「準備」:按〔Insert a Heading〕按鈕,會彈出一個詢問是否在所選標題上面插入標題的對話框,我們按「否」,在〔Entry title〕輸入頁面標題「準備」,並按〔Add〕指定對應的HTML文件,返回後就又加了一個標題。
2 O7 G( q: Z/ Y/ c7 v在標題「準備」下面插入一個頁面(或者是子標題)如「下載」:按〔Insert a page〕按鈕,在〔Entry title〕輸入「下載」,並按〔Add〕指定對應的HTML文件,返回。# N, h% {" y# g- |. F
同樣我們可以加入許多標題、子標題、頁面,並可以利用那4個箭頭按鈕來調整標題或頁面的位置及從屬關係。HHW可以支持9個級別深度。
% g* V3 O. N8 x3 \修改標題及改變標題圖標的方法:選中標題,按〔Edit selection〕按鈕,可以對其重新指定所關聯的HTML文件。在〔Advanced〕中通過下面的〔Image index〕改變標題的圖標。如圖(13)。/ h( K2 @$ k+ G& I9 I5 c8 F
設置目錄屬性:按〔Contents properties〕按鈕後我們可以改變目錄表顯示樣式等,使用默認設置就行。
$ u+ z4 e, _* |( m) X- N所有標題創建完成後,按左下角的〔Save File〕按鈕,一個目錄表文件就創建完成了。如圖(14)。# h, }# N1 ?! b& T; W% l
2.索引文件的創建2 U5 Y% s C: i( J
與目錄文件的創建非常類似,只是索引文件中需要指定關鍵詞與HTML文件的關聯關係。不再贅述。請參考上述目錄表文件的創建方法。
, [ ]# X3 F5 w; u, t# \) _1 E4 Q" {3.項目文件的設置
! h, B2 c* n/ {6 _按〔Project〕選項卡,進入項目編輯窗口(即默認的HHW介面)。其左邊排列有7個按鈕,分別是:項目屬性設置、增加或刪除HTML文件、增加或改變窗口屬性定義、API信息、顯示HTML源碼、保存文件、保存文件並編譯。
- h3 H3 [$ G; N H, \& i) G# }$ D我們按〔Change project options〕按鈕對項目進行設置:通常需要做的是,在〔General〕選項卡的〔Default file〕中指定封面頁。封面頁就是當打開chm文件時默認顯示的HTML文件。封面頁可以是目錄表中的某個標題所對應的HTML文件,也可以是在目錄表中不存在的專門用來作封面的 HTML 文件。如圖(15)。7 k# C- | _- y* y8 ^; f4 B# k! z* v
如果想在chm文件中具備全文搜索功能,還需要在〔Compiler〕中選中〔Compile full-text Search Information〕,如圖(16)。
' x8 Q4 O) Q$ Z7 L. S7 H! D其他內容一般可以不去理會。
# p+ }6 w; Z& ^1 M7 |4.窗口顯示設置
9 _: A& u$ S3 @, y按第3個按鈕〔Add/Modify windows defunitions〕設置窗口屬性:這裡的設置將決定chm文件的顯示風格。在彈出的對話框中我們給窗口風格隨便指定一個名字(如12),按OK就進入了〔Windows Types〕對話框。常用的幾個設置項為:4 Z+ E A" a8 I' c6 ^
(1)General常規! t# V- I Q# p
〔Title bar text〕中輸入欲在chm文件的標題欄裡顯示的文字,如「輕鬆製作chm文件」。參考圖(3)。9 C) j5 P+ j: N# ]
(2)Buttons按鈕
/ f$ y9 H# g0 p& c8 {5 ^& g( j, c, M選擇欲在chm中出現的按鈕。參考圖(6)。3 }- }9 C' h1 y- x4 w
(3)Position位置
# E5 G. o: `1 m2 [〔Save user defined windows position after first use〕如果選中,則系統會保存chm使用者最後一次退出 chm 文件時窗口的位置、大小等,下次再打開chm時,系統會恢復這些屬性。如果不選中,則每次都以你默認的窗口大小、位置打開chm文件。% a& p: J% g/ k' w
Left和Top是指定打開chm時窗口左上角的位置,Width和Height則指定窗口的寬和高。參考圖(17)。* P( P1 { G9 {1 t( Z
(4)Files 文件. o/ c: m6 \$ c) d- G" [
如果選擇了顯示Home、Jump按鈕,就在這裡輸入對應的URL超鏈接地址,比如你的個人主頁地址。: @# O2 D+ v4 ?7 i* L/ S
(5)Navigation Pane 導航嵌窗) @' B5 g! x* t2 \* v, h" t
〔Windows with navigation pane,topic pane,and button〕如果不選,則chm窗口沒有導航嵌窗和按鈕。) L: K1 L: k! l: A$ Z& ~- ?
〔Navigation pane width〕中指定導航嵌窗的寬度。) B* v/ \* G( w* |7 z) l
〔Open with navigation pane closed〕如果選中,在打開chm文件時導航嵌窗默認為關閉狀態。 l" M- I6 }5 }/ l) V
〔Auto sync〕如果選中,chm中的目錄標題與HTML內容自動保持同步。3 d% D8 `! \9 E" u2 t; a
〔Automatically show/hide navigation pane〕如果選中,在chm為活動(當前)窗口時,導航嵌窗顯示,當不是活動窗口時,導航嵌窗自動隱藏。 o7 i T) O# J" D
〔Default tab〕中指定導航嵌窗中默認的顯示項。可以是目錄、索引、搜索、書籤。# d/ ` b( {8 r' {$ S6 H g+ @
〔Search tab〕如果選中,在chm中將具備全文搜索功能,而〔Advanced〕可以讓chm具有高級搜索的功能(使用and,or,not,near)。
8 Q: s3 _5 X# X' |$ M3 l+ V〔Favorites tab〕如果選中,chm文件就會具有書籤功能。如圖(18)。
, k' g6 d2 J" G另外2個選項夾可以不管,使用默認設置就行。0 u( E8 H3 _: u0 b8 Y9 W" d* X
5.編譯成chm文件
# a) V9 c( i9 d2 e9 g0 x6 i& o經過上面的設置,現在我們可以進行編譯了。按工具欄中的編譯按鈕或者直接按項目窗口左下方的〔Save all file and Compile〕按鈕,幾秒鐘以後chm文件就被編譯生成。然後用鼠標雙擊此chm文件就可以看到作品了,如果發現問題還可以返回HHW裡進行修改調整後再編譯,或者在以後雙擊.hhp 文件進行修改。2 L4 ]' [# l* U* @* G* s4 {
5 P8 q$ ]( |0 z& s3 l6 f& H0 {
五、反編譯一個chm文件8 [- u9 P: y( C4 K/ N
有時我們需要把一個已經存在的chm文件反編譯,以便把其中的全部內容取出。反編譯的方法是:先創建一個新的文件夾,然後進入HWW程序,在〔File〕菜單中選〔Decompile〕,指定目標文件夾的位置和欲反編譯的chm文件,按OK,反編譯很快就會完成。這時在目標文件夾中就保存著chm中的所有文件和子文件夾,你可以慢慢研究別人的技巧了,或者對其進行修改後再編譯。其實HHW中還有許多功能和擴展設置選項,因篇幅所限不再介紹,大家自己探索吧。. ]( k5 P/ e. ]. P3 ~: Z, M1 m9 P
本文介紹的軟件收錄於《大眾軟件CD》2000年第9期\BBX\下。 |