chm檔案打不開的解決方案

來源:互聯網
上載者:User

轉自neeao's blog

今天開啟一個.chm格式的協助檔案查點資料,和平常一樣雙擊檔案,提示:
打不開檔案 .chm
上網查了下,找到了一個解決方案:

引用 小知識: CHM 意為 Compiled HTML。以CHM為副檔名的檔案表徵圖通常為一個帶問號的文檔表徵圖,表示協助文檔,是 Microsoft 自 Windows 98 以來提供的一種協助文檔格式的檔案,用於替代 Windows 95 下的 HLP(Help) 檔案。Microsoft 自 Windows 98 以來,作業系統中都內建解譯器(開啟 CHM 檔案的工具),即 Windows 安裝目錄下的 HH.EXE。CHM 檔案可以通過官方免費提供了 HTML Help Workshop 產生,它的源檔案是 HTML 檔案。現在網路上很多電子書籍都被製作成 CHM 格式。

------------------------------------------------------------------
前幾天想開啟一本 CHM 格式的電子書,查點東西,沒想到,開啟的視窗裡竟然提示不能開啟頁面。因為一直很少用協助,所以也不知道是什麼時候開始出現了這個問題的。因為沒時間去考慮,所以先在網上查了資料,把這個問題放下了。

今天又一次開啟某 CHM 文檔的時候,發生了同樣的問題。這次有時間。試了一下,幾乎所有 CHM 檔案都打不開了。看樣子是開啟過程(指的是系統中的操作過程,非人為操作過程)中的某個關鍵步驟出了問題。

CHM 的實質是通過幾個特殊的協議訪問壓縮存在在 CHM 檔案中的網頁。所以,我估計可能是防火牆有鬼。於是把防火牆統統仔細檢查了一遍,沒有限制 CHM 檔案打讀取。關閉所有防火牆,CHM 仍然不能正常閱讀。

也許是 HH.EXE 所必需的某個組件出了問題。但是不知道 HH.EXE 會用到些什麼組件,所以上網查了一下,有人建議重新註冊 hhctrl.dll。我在系統目錄下找到了 hhctrl.ocx,沒有找到 hhctrl.dll。就當是網上寫錯了,重新註冊一下 hhctrl.ocx 試試:regsvr32 hhctrl.ocx。依然不能正常閱讀 CHM。

既然如此,很有可能是協議出了問題。HH.EXE 用的是 ms-its 等協議,這些協議應該是由某個 DLL 檔案提供服務的。問題是,是什麼 DLL 呢?於是再用 Google 搜尋 ms-its 協議。終於找到了,原來是一個 itss.dll 在做服務。不過網上查到的解決方案是修改註冊表。看著那一堆登錄機碼就頭痛,還是先試試偷懶的辦法吧——重新註冊DLL:regsvr32 itss.dll。

再試,嘿,好了,CHM 又可以正常開啟了。

至於 CHM 不能開啟的原因,據網上說,多半是因為 Microsoft 最近修複的一個關於 HTML Help 的漏洞有關係。不過我機器上的狀況不太符合特徵,管它呢,反正我又能閱讀 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.