MSDN for VS6 *.COL集合檔案解讀

來源:互聯網
上載者:User

 

2011/10/27 4:41 A.M.

 上接:  關於MSDN for VB6和VC6 

 

在網上搜了半天關於微軟協助文檔集合, hhcolreg.dat ,*.col 檔案 都沒搜到點有用的.

於是自己分析了一下這兩個檔案.

(目的是為了把XP系統中的SQL80.col協助集複製到WIN7系統來,結果也實現了,略.)

_________________________________________________________________________________________________

MSDN for VS6  *.COL 協助文檔集合 檔案解讀
            
                                                                  2:39 2011/10/27  

 yurenchen
_________________________________________________________________________________________________

*.chm 是協助文檔.
*.chw 是協助文檔索引快取檔案.
*.chi 是協助文檔目錄檔案(多數*.chm文檔是整合了目錄的,有的是分類開的)

*.COL 檔案是微軟協助文檔的集合(內容為XML). 可以用hh.exe 開啟,裡面定義了集合中包括了哪些書目,和集合的樹形結構.

hhcolreg.dat (內容為XML)存在於 %windir%\help\ 和 %AllUsersProfile%\Microsoft\HTML Help\ 檔案夾內.
檔案隨便放在這兩個檔案夾中任意一個都可以,效果相同.

*.COL檔案中定義了文檔集合包含哪些書目,但沒有定義每一本書的具體路徑,所以沒有安裝協助文檔的時候,直接開啟
*.COL檔案會出現無法開啟檔案的情況.

*.COL中引用的書目的具體資訊定義就定義在了hhcolreg.dat 檔案中.

____________________________________
①  *.COL 檔案結構.

假設檔案名稱為XXXX.COL

<XML>
<HTMLHelpCollection>
<collectionnum value=CCCC1/>    集合編號
<Folders>
<Folder>
    <TitleString value="DDDD"/>    目錄的標題
    <FolderOrder value=EEEE/>    目錄的序號
</Folder>
</Folders>
</HTMLHelpCollection>
</XML>

(一些非必要元素(刪除後文檔仍能開啟的元素,下同)有刪減)

____________________________________
② hhcolreg.dat 檔案結構

<XML>
<HTMLHelpDocInfo>
<Collections>        開啟過的*.col檔案都會列在這裡(可以刪除此段,開啟*.col檔案時自動產生)
    <Collection>
        <ColNum value=cccc3/>        集合編號
        <ColName value="xxxx.COL"/>    *.col檔案路徑
    </Collection>
</Collections>

<DocCompilations>    圖書集合的定義(圖書的路徑,編號 以及 所屬集合)
    <DocCompilation>
        <DocCompId value="dddd"/>    書目編號
        <LocationHistory>
            <ColNum value=cccc2/>        集合編號
            <TitleLocation value="ffff.chm"/>    圖書內容檔案路徑
            <IndexLocation value="gggg.chi"/>    圖書目錄檔案路徑
        </LocationHistory>
    </DocCompilation>
</DocCompilations>
</HTMLHelpDocInfo>
</XML>

(一些非必要元素有刪減)

_____________________________________

*.col 檔案可以放在任意目錄內,
*.chm,*.chi等協助文檔也可以放在任意目錄內,但要與hhcolreg.dat 檔案內定義的一致.
前面兩個都到處亂跑,找起來肯定不容易,所以 hhcolreg.dat 就必須老老實實的呆在那幾個固定的檔案夾裡面了,
以方便hh.exe 找到它,並通過它找到散落在世界不同角落的...
              ----龍珠?
             ----難道這是龍珠雷達?
             .
            
是不同角落的 協助文檔(*.chm 和 *.chi) .
______________________________________

 

同一本圖書 對應的 集合編號,和在*.col檔案的集合編號一致.
*.col檔案開啟後,在hhcolreg.dat 中的記錄 的集合編號也一致.
即 同一圖書 CCCC1=cccc2=cccc3,否則無法開啟.

*.COL中DDDD可以是非'='開頭的自訂字串,表示目錄的名稱,
也可以是 '=書目編號',例如 '=dddd' 表示此出目錄是 集合中定義的書目編號為dddd的這本圖書.

圖書內容檔案 和 圖書目錄檔案 名稱一般是一致的,即ffff=gggg,指出檔案的所在.

 

 

執行個體

    ① "C:\Users\Phoenix\Desktop\VC6.col" 檔案內容

    ②"C:\Users\Phoenix\Desktop\VC6.col"開啟效果

 

    ③ "C:\Users\All Users\Microsoft\HTML Help\hhcolreg.dat" 檔案內容

 

    ④"C:\Users\All Users\Microsoft\HTML Help\hhcolreg.dat" 開啟效果

上面4幅圖片已經很明了了吧.

 

協助文檔集合有什麼用?
比如你要查某個函數,又不確定它在哪個chm裡面,就只有一個一個開啟找了,或者直接在協助文檔集合裡面尋找.

 

ps: 有時間用hta寫個小工具來整理電腦上所有的chm文檔.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.